clojure-germany

javahippie 2021-05-30T07:56:33.022700Z

Das klingt spannend, ich kann mir vorstellen, dass die Versionierung bsp. bei Änderungen und Rolling Deployments zum Zug kommt?

javahippie 2021-05-30T07:56:51.023100Z

@mroerni Schaue ich mir auch nachher mal an, danke für den Tipp

javahippie 2021-05-30T09:01:24.024100Z

@ramart Danke für die Hilfe, die Idee mit with-redefs ist Spitze. Ich habe es noch einmal ein bisschen erweitert, um auch die ID des Parent Spans hinzuzufügen (und den Honeycomb Tracer an sich), und eigentlich ist es jetzt genau das, was ich haben möchte.

❤️ 1
javahippie 2021-05-30T09:02:06.024400Z

Das kommt dann als Trace bei Honeycomb selbst an

javahippie 2021-05-30T09:15:04.030800Z

bzw mit Mock Timer sogar noch etwas schicker:

RAMart 2021-05-30T09:24:40.031200Z

Na, das sieht doch schon vielversprechend aus! Die Idee mit den Meta-Informationen ist prima, solange man die Kontrolle über den Quellcode hat. Für das Verfolgen von Fremdfunktionen wäre wahrscheinlich noch eine API der Form (trace #'func-var)hilfreich. Oh, dann könnte man auch Trace-Szenarien vorkonfigurieren! Wenn ich das-und-das Verhalten genauer untersuchen möchte, sollte ich genau dieses Set an Funktionen tracen. :star-struck:

javahippie 2021-05-30T09:31:57.031500Z

Ja, so ein bisschen was außenrum fehlt noch, z.B. auch um Ring Routes zu tracen usw usw

henrik42 2021-05-30T11:40:37.031900Z

Sieht gut aus:+1:

javahippie 2021-05-30T11:43:39.032100Z

Zu Code den ich nicht kontrolliere: Könnte ich da nicht mit alter-meta! auch Fremdcode ins Tracing holen, oder hat das noch andere Nebeneffekte die ich da nicht beachte?

RAMart 2021-05-30T13:45:07.032300Z

Ich hab' noch nicht lange drüber nachgedacht, aber ich habe ein spontanes Störgefühl. Wieso an konkreten Funktionen, die ich ja benennen muss, per alter-meta! was dran kleben, damit später dann jemand anders das einsammeln kann? Da hab' ich ein von-hinten-durch-die-Brust-ins-Auge Störgefühl.

javahippie 2021-05-30T16:36:59.032500Z

Es gäbe mir halt die Möglichkeit, einzelne Funktionen aus 3rd Party Libraries zu tracen, ohne dass ich Zugriff darauf habe… aber ja, es ist schon nicht sonderlich transparent, ein explizites (traced...) wäre wahrscheinlich sprechender