Commit graph

193 commits

Author SHA1 Message Date
Peter Taoussanis
96cc9e51f4 [nop] Misc housekeeping 2024-08-27 14:36:32 +02:00
Peter Taoussanis
3388103acf v1.0.0-SNAPSHOT 2024-08-26 22:14:56 +02:00
Peter Taoussanis
6032d2405e v1.0.0-beta21 (2024-08-26) 2024-08-26 13:19:43 +02:00
Peter Taoussanis
3068ccf8d7 [new] Simplify signal expansion 2024-08-26 13:13:33 +02:00
Peter Taoussanis
bbfe61106c [new] Add basic "full" bench numbers (to handled signals) 2024-08-26 13:13:33 +02:00
Peter Taoussanis
b4b06f324b [nop] Micro-optimize binding conveyance
Avoid repeatedly capturing the same callsite binding frame for each registered
handler. While the perf benefit of this change is minimal, the approach is also
conceptually cleaner.
2024-08-26 13:13:33 +02:00
Peter Taoussanis
8066776a80 [doc] Update docs and examples 2024-08-26 09:57:29 +02:00
Peter Taoussanis
54129e91a0 [nop] Misc housekeeping 2024-08-24 11:14:50 +02:00
Peter Taoussanis
9a0bdf92f2 v1.0.0-SNAPSHOT 2024-08-24 11:14:50 +02:00
Peter Taoussanis
b997a3549e v1.0.0-beta20 (2024-08-23) 2024-08-23 14:08:23 +02:00
Peter Taoussanis
ddc9480d20 [doc] Update docs and examples 2024-08-23 14:06:02 +02:00
Peter Taoussanis
84957c6d0a [new] OpenTelemetry handler: improve span interop
When this feature is enabled (see `otel-tracing?`), Telemere's tracing
signal creators (`trace!`, `spy!`, etc.) will now manipulate OpenTelemetry's
span context when relevant.

Before this commit:

  Telemere would detect and use OpenTelemetry span context, but
  the inverse wasn't true: OpenTelemetry instrumentation wouldn't
  recognize Telemere spans.

After this commit:

  Telemere detects OpenTelemetry span context, and the inverse is
  also true: OpenTelemetry instrumentation will recognize Telemere
  spans.

The net effect:

  When you use Telemere to trace forms that may themselves do
  auto/manual OpenTelemetry instrumentation - the resulting spans
  will now properly identify Telemere's spans as parents.

Note that this is interop is implemented in a unique way that retains
Telemere's usual benefits re: low costs at signal callsite, and ability
to skip costs when filtering / sampling / rate-limiting / etc.
2024-08-23 14:06:02 +02:00
Peter Taoussanis
ef678bcc36 [mod] Generalize "intake", rename -> "interop"
Extending feature to cover general interop like OpenTelemetry tracing, etc.
2024-08-23 14:05:46 +02:00
Peter Taoussanis
88eb5211f7 [mod] Make :host output opt-in for default signal handlers 2024-08-23 13:59:22 +02:00
Peter Taoussanis
331bea7a51 [nop] Misc housekeeping 2024-08-22 17:40:17 +02:00
Peter Taoussanis
58b3af893c v1.0.0-SNAPSHOT 2024-08-22 16:20:04 +02:00
Peter Taoussanis
b44eb106a3 v1.0.0-beta19 (2024-08-20) 2024-08-20 19:28:16 +02:00
Peter Taoussanis
064ef32377 [mod] OpenTelemetry handler: rename (generalize)
Handler now does more than just logging.
2024-08-20 19:25:53 +02:00
Peter Taoussanis
a8e92303fa [fix] OpenTelemetry handler: use signal callsite Context as root span parent 2024-08-20 19:25:44 +02:00
Peter Taoussanis
17349a0840 [fix] [#16] OpenTelemetry handler: coerce line attrs (@flyingmachine) 2024-08-20 19:20:56 +02:00
Peter Taoussanis
a1c50f1031 [fix] Decrease min Java version (11->8) (@flyingmachine) 2024-08-20 19:20:56 +02:00
Peter Taoussanis
5b30acc897 [nop] Housekeeping 2024-08-20 18:55:12 +02:00
Peter Taoussanis
c2ad207b18 [doc] New handlers table 2024-08-20 15:14:20 +02:00
Peter Taoussanis
7dc695a18c [doc] Misc improvements 2024-08-20 15:14:20 +02:00
Peter Taoussanis
1c58d99337 v1.0.0-beta18 (2024-08-19) 2024-08-19 16:26:33 +02:00
Peter Taoussanis
290dfe268d [fix] Properly ignore internal :otel-context key 2024-08-19 16:25:13 +02:00
Peter Taoussanis
8b58be68a2 [new] OpenTelemetry handler: auto capture signal context 2024-08-19 16:06:07 +02:00
Peter Taoussanis
c62b8ab4af [new] OpenTelemetry handler: add :otel/context opt (undocumented) 2024-08-19 16:06:07 +02:00
Peter Taoussanis
ae7bb20ed0 [new] OpenTelemetry handler: add extra auto span attrs 2024-08-19 16:06:07 +02:00
Peter Taoussanis
e323896d54 [nop] OpenTelemetry handler: move to latch for span contention protection
This'll be more reliable (and probably faster) under high load than the
small-batch GC.
2024-08-19 16:06:07 +02:00
Peter Taoussanis
67cb4941bf [new] OpenTelemetry handler: add experimental trace output 2024-08-19 16:06:07 +02:00
Peter Taoussanis
599236f451 [mod] OpenTelemetry handler: revert #10
On reflection the choice to drop ":" (and so type info) from ALL attribute
keywords seems excessive. We can instead restrict the change only to
the :level value.

Feedback welcome.
2024-08-19 15:13:12 +02:00
Peter Taoussanis
badbb2c768 [nop] Update benchmark results 2024-08-19 15:13:12 +02:00
Peter Taoussanis
5ab2736c92 [new] Improve uid control, switch to nano-style by default
1. Added `*uid-fn*` to globally control uid style

2. Now distinguish between root and child uids
   Root uids generally need to be longer.

3. Added to utils: `nano-uid-fn` and `hex-uid-fn`
   These use new highly optimized implementations
   when on JVM Clojure, and are highly flexible.
2024-08-19 15:13:12 +02:00
Peter Taoussanis
1cef195715 [new] Add host info to signal content 2024-08-19 15:13:12 +02:00
Peter Taoussanis
d635318f73 [new] Add extra tracing info to signal content
Tracing signals now include:
  :parent {:keys [id uid instant]}
  :root   {:keys [id uid instant]}

The :instant info is undocumented, and useful for advanced cases like
the upcoming Span support for the OpenTelemetry handler.
2024-08-19 15:13:12 +02:00
Peter Taoussanis
8a7e16bf73 [nop] Merge new-signal into signal! macro
This is a little faster, but the main motivation is to avoid the
limit (20) on fn args.
2024-08-19 15:13:12 +02:00
Peter Taoussanis
24d9827dae [doc] Clarify help:signal-creators arg order 2024-08-19 15:13:12 +02:00
Peter Taoussanis
4d2b5d4642 [mod] Decrease level of :on-init signals
:info -> :debug (now below default :min-level)
2024-08-19 15:13:12 +02:00
Peter Taoussanis
54494b33be [nop] Housekeeping 2024-08-19 15:13:12 +02:00
Peter Taoussanis
4efa2656f2 [nop] Bump deps 2024-08-19 15:13:11 +02:00
Peter Taoussanis
f14990efad v1.0.0-beta16 (2024-08-08) 2024-08-08 11:31:28 +02:00
Peter Taoussanis
231942384c [fix] Broken handler ns and kind filters 2024-08-08 11:27:34 +02:00
Peter Taoussanis
a39b720935 [doc] Doc and example improvements 2024-08-08 10:55:30 +02:00
Peter Taoussanis
d71fcb35ed [nop] Housekeeping 2024-08-07 11:55:17 +02:00
Peter Taoussanis
39b4acd0eb [nop] Bump deps 2024-08-07 11:55:17 +02:00
Peter Taoussanis
2c72d0fbfa v1.0.0-beta15 (2024-08-07) 2024-08-07 11:38:11 +02:00
Peter Taoussanis
946240dda4 [doc] Doc and example improvements 2024-08-07 11:37:00 +02:00
Peter Taoussanis
3b6396426e [nop] Housekeeping 2024-08-07 11:13:49 +02:00
Peter Taoussanis
1756069330 [nop] Tune internal handler rate limits 2024-08-07 11:13:49 +02:00