Telemere -> OpenTelemetry handler using `opentelemetry-java`,
Ref. <https://github.com/open-telemetry/opentelemetry-java>,
<https://javadoc.io/doc/io.opentelemetry/opentelemetry-api/latest/index.html>
Telemere will attempt to load this ns automatically when possible.(handler:open-telemetry)(handler:open-telemetry {:keys [emit-tracing? logger-provider]
:or {emit-tracing? true}})Highly experimental, possibly buggy, and subject to change!!
Feedback and bug reports very welcome! Please ping me (Peter) at:
<https://www.taoensso.com/telemere> or
<https://www.taoensso.com/telemere/slack>
Needs `opentelemetry-java`,
Ref. <https://github.com/open-telemetry/opentelemetry-java>.
Returns a signal handler that:
- Takes a Telemere signal (map).
- Emits signal data to configured `LogExporter`
- Emits tracing data to configured `SpanExporter`
iff `telemere/otel-tracing?` is true.
Options:
`:logger-provider` - nil or `io.opentelemetry.api.logs.LoggerProvider`,
(see `telemere/otel-default-providers_` for default).
Optional signal keys:
`:otel/attrs` ------- Attributes [1] to add to log records AND tracing spans/events
`:otel/log-attrs` --- Attributes [1] to add to log records ONLY
`:otel/trace-attrs` - Attributes [1] to add to tracing spans/events ONLY
`:otel/span-kind` --- Span kind ∈ #{:internal (default) :client :server :consumer :producer}
[1] `io.opentelemetry.api.common.Attributes` or Clojure map with str/kw keys and vals ∈
#{nil boolean keyword string UUID long double string-vec long-vec double-vec boolean-vec}.
Other val types (incl. maps) will be printed as EDN if possible, or skipped otherwise.cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |