mirror of
https://github.com/taoensso/telemere.git
synced 2026-01-07 01:19:50 +00:00
[new] OpenTelemetry handler: auto capture signal context
This commit is contained in:
parent
c62b8ab4af
commit
8b58be68a2
2 changed files with 13 additions and 5 deletions
|
|
@ -171,12 +171,19 @@
|
|||
[(enc/qb 1e6 (cond-binding true [*trace-parent* {:id :id1, :uid :uid1, :inst :inst1}] *trace-parent*)) ; 226.18
|
||||
(macroexpand '(cond-binding true [*trace-parent* {:id :id1, :uid :uid1, :inst :inst1}] *trace-parent*))])
|
||||
|
||||
#?(:clj
|
||||
(enc/compile-if io.opentelemetry.context.Context/current
|
||||
(defmacro otel-context [] `(io.opentelemetry.context.Context/current))
|
||||
(defmacro otel-context [] nil)))
|
||||
|
||||
(comment (enc/qb 1e6 (otel-context))) ; 20.43
|
||||
|
||||
;;;; Main types
|
||||
|
||||
(defrecord Signal
|
||||
;; Telemere's main public data type, we avoid nesting and duplication
|
||||
[^long schema inst uid,
|
||||
location ns line column file, #?@(:clj [host thread]),
|
||||
location ns line column file, #?@(:clj [host thread _otel-context]),
|
||||
sample-rate, kind id level, ctx parent root, data kvs msg_,
|
||||
error run-form run-val end-inst run-nsecs]
|
||||
|
||||
|
|
@ -551,10 +558,10 @@
|
|||
(let [record-form
|
||||
(let [clause [(if run-form :run :no-run) (if clj? :clj :cljs)]]
|
||||
(case clause
|
||||
[:run :clj ] `(Signal. 1 ~'__inst ~'__uid, ~location ~'__ns ~line-form ~column-form ~file-form, (enc/host-info) ~'__thread, ~sample-rate-form, ~'__kind ~'__id ~'__level, ~ctx-form ~parent-form ~'__root, ~data-form ~kvs-form ~'_msg_, ~'_run-err '~run-form ~'_run-val ~'_end-inst ~'_run-nsecs)
|
||||
[:run :cljs] `(Signal. 1 ~'__inst ~'__uid, ~location ~'__ns ~line-form ~column-form ~file-form, ~sample-rate-form, ~'__kind ~'__id ~'__level, ~ctx-form ~parent-form ~'__root, ~data-form ~kvs-form ~'_msg_, ~'_run-err '~run-form ~'_run-val ~'_end-inst ~'_run-nsecs)
|
||||
[:no-run :clj ] `(Signal. 1 ~'__inst ~'__uid, ~location ~'__ns ~line-form ~column-form ~file-form, (enc/host-info) ~'__thread, ~sample-rate-form, ~'__kind ~'__id ~'__level, ~ctx-form ~parent-form ~'__root, ~data-form ~kvs-form ~msg-form, ~error-form nil nil nil nil)
|
||||
[:no-run :cljs] `(Signal. 1 ~'__inst ~'__uid, ~location ~'__ns ~line-form ~column-form ~file-form, ~sample-rate-form, ~'__kind ~'__id ~'__level, ~ctx-form ~parent-form ~'__root, ~data-form ~kvs-form ~msg-form, ~error-form nil nil nil nil)
|
||||
[:run :clj ] `(Signal. 1 ~'__inst ~'__uid, ~location ~'__ns ~line-form ~column-form ~file-form, (enc/host-info) ~'__thread (otel-context), ~sample-rate-form, ~'__kind ~'__id ~'__level, ~ctx-form ~parent-form ~'__root, ~data-form ~kvs-form ~'_msg_, ~'_run-err '~run-form ~'_run-val ~'_end-inst ~'_run-nsecs)
|
||||
[:run :cljs] `(Signal. 1 ~'__inst ~'__uid, ~location ~'__ns ~line-form ~column-form ~file-form, ~sample-rate-form, ~'__kind ~'__id ~'__level, ~ctx-form ~parent-form ~'__root, ~data-form ~kvs-form ~'_msg_, ~'_run-err '~run-form ~'_run-val ~'_end-inst ~'_run-nsecs)
|
||||
[:no-run :clj ] `(Signal. 1 ~'__inst ~'__uid, ~location ~'__ns ~line-form ~column-form ~file-form, (enc/host-info) ~'__thread (otel-context), ~sample-rate-form, ~'__kind ~'__id ~'__level, ~ctx-form ~parent-form ~'__root, ~data-form ~kvs-form ~msg-form, ~error-form nil nil nil nil)
|
||||
[:no-run :cljs] `(Signal. 1 ~'__inst ~'__uid, ~location ~'__ns ~line-form ~column-form ~file-form, ~sample-rate-form, ~'__kind ~'__id ~'__level, ~ctx-form ~parent-form ~'__root, ~data-form ~kvs-form ~msg-form, ~error-form nil nil nil nil)
|
||||
(enc/unexpected-arg! clause {:context :signal-constructor-args})))
|
||||
|
||||
record-form
|
||||
|
|
|
|||
|
|
@ -595,6 +595,7 @@
|
|||
[^Tracer tracer ?tracer
|
||||
^Context context
|
||||
(enc/get* signal :otel/context ; Undocumented
|
||||
:_otel-context
|
||||
#_(io.opentelemetry.context.Context/root)
|
||||
(io.opentelemetry.context.Context/current))
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue