[nop] Misc housekeeping

This commit is contained in:
Peter Taoussanis 2024-08-21 23:53:15 +02:00
parent 58b3af893c
commit 331bea7a51
3 changed files with 15 additions and 23 deletions

View file

@ -3,6 +3,7 @@
Signal design shared by: Telemere, Tufte, Timbre."
(:refer-clojure :exclude [binding])
(:require
[clojure.set :as set]
[taoensso.encore :as enc :refer [binding have have?]]
[taoensso.encore.signals :as sigs])
@ -192,9 +193,10 @@
(do (enc/def-print-impl [sig Signal] (str "#" `Signal (pr-str (into {} sig)))))
#?(:clj (enc/def-print-dup [sig Signal] (str "#" `Signal (pr-str (into {} sig))))) ; NB intentionally verbose, to support extra keys
(def impl-signal-keys #{:_otel-context})
(def standard-signal-keys
(disj (set (keys (map->Signal {:schema 0})))
:_otel-context))
(set/difference (set (keys (map->Signal {:schema 0})))
impl-signal-keys))
(comment
(def s1 (with-signal (signal! {:level :info, :my-k1 :my-v1})))

View file

@ -14,7 +14,7 @@
[io.opentelemetry.context Context]
[io.opentelemetry.api.common AttributesBuilder Attributes]
[io.opentelemetry.api.logs LoggerProvider Severity]
[io.opentelemetry.api.trace TracerProvider Tracer Span]
[io.opentelemetry.api.trace TracerProvider Tracer Span SpanContext]
[java.util.concurrent CountDownLatch]))
(comment
@ -139,13 +139,12 @@
;;;; Spans
#_
(defn- remote-span-context
"Returns new remote `io.opentelemetry.api.trace.SpanContext`
for use as `start-span` parent."
^io.opentelemetry.api.trace.SpanContext
[^String trace-id ^String span-id sampled? ?trace-state]
(io.opentelemetry.api.trace.SpanContext/createFromRemoteParent
trace-id span-id
^SpanContext [^String trace-id ^String span-id sampled? ?trace-state]
(SpanContext/createFromRemoteParent trace-id span-id
(if sampled?
(io.opentelemetry.api.trace.TraceFlags/getSampled)
(io.opentelemetry.api.trace.TraceFlags/getDefault))
@ -175,15 +174,8 @@
(enc/if-not [parent ?parent]
(.setParent sb context) ; Base (callsite) context
(cond
;; Local parent span, etc.
(instance? Span parent) (.setParent sb (.with context ^Span parent))
;; Remote parent context, etc.
(instance? io.opentelemetry.api.trace.SpanContext parent)
(.setParent sb
(.with context
(Span/wrap ^io.opentelemetry.api.trace.SpanContext parent)))
(instance? Span parent) (.setParent sb (.with context ^Span parent)) ; Local parent span, etc.
(instance? SpanContext parent) (.setParent sb (.with context (Span/wrap ^SpanContext parent))) ; Remote parent context, etc.
:else
(enc/unexpected-arg! parent
{:context `start-span
@ -222,13 +214,8 @@
(comment (enc/qb 1e6 (span-attrs "uid1" {:ns "ns1" :line 495}))) ; 101.36
(def ^:private ^String span-name
(enc/fmemoize
(fn [id]
#_(if id (str id) ":telemere/nil-id")
(if id (enc/as-qname id) "telemere/nil-id"))))
(comment (enc/qb 1e6 (span-name :foo/bar))) ; 46.09
(def ^:private ^String span-name (enc/fmemoize (fn [id] (if id (enc/as-qname id) "telemere/nil-id"))))
(comment (enc/qb 1e6 (span-name :foo/bar))) ; 46.09
(defn- handle-tracing!
"Experimental! Takes care of relevant signal `Span` management.

View file

@ -700,6 +700,9 @@
:file (if incl-file? (assoc!* m k v) m)
:thread (if incl-thread? (assoc!* m k v) m)
(clojure.core/into ()
taoensso.telemere.impl/impl-signal-keys) m ; noop
(clojure.core/into ()
(clojure.core/disj
taoensso.telemere.impl/standard-signal-keys