mirror of
https://github.com/taoensso/telemere.git
synced 2025-12-17 01:51:10 +00:00
41 lines
2.3 KiB
Text
41 lines
2.3 KiB
Text
Telemere signals are maps with {:keys [inst id ns level data msg_ ...]},
|
|
though they can be modified by call and/or handler transform (xfns).
|
|
|
|
Default signal keys:
|
|
|
|
`:schema` ------ Int version of signal schema (current: 1)
|
|
`:inst` -------- Platform instant [1] when signal was created, monotonicity depends on system clock
|
|
`:ns` ---------- ?str namespace of signal callsite
|
|
`:coords` ------ ?[line column] of signal callsite
|
|
|
|
`:kind` -------- Signal ?kind ∈ #{nil :event :error :log :trace :spy :slf4j :tools-logging <app-val> ...}
|
|
`:level` ------- Signal level ∈ #{<int> :trace :debug :info :warn :error :fatal :report ...}
|
|
`:id` ---------- Signal callsite ?id (usu. keyword) (common to all signals created at callsite, contrast with `:uid`)
|
|
`:uid` --------- Signal instance ?id (usu. string) (unique to each signal created at callsite when tracing, contrast with `:id`)
|
|
|
|
`:msg_` -------- Arb app-level message ?str given to signal creator - may be a delay, always use `force` to unwrap!
|
|
`:data` -------- Arb app-level data ?val (usu. a map) given to signal creator
|
|
`:error` ------- Arb app-level platform ?error [2] given to signal creator
|
|
|
|
`:run-form` ---- Unevaluated ?form given to signal creator as `:run`
|
|
`:run-val` ----- Successful return ?val of `:run` ?form
|
|
`:run-nsecs` --- ?int nanosecs runtime of `:run` ?form
|
|
`:end-inst` ---- Platform ?instant [1] when `:run` ?form completed
|
|
|
|
`:parent` ------ ?{:keys [id uid]} of parent signal, present in nested signals when tracing
|
|
`:root` -------- ?{:keys [id uid]} of root signal, present in nested signals when tracing
|
|
`:ctx` --------- ?val of `*ctx*` (arb app-level state) when signal was created
|
|
|
|
`:host` -------- (Clj only) {:keys [name ip]} info for network host
|
|
`:thread` ------ (Clj only) {:keys [name id group]} info for thread that created signal
|
|
|
|
`:sample` ------ Sample ?rate ∈ℝ[0,1] for combined call AND handler sampling (0.75 => allow 75% of signals, nil => allow all)
|
|
|
|
<kvs> ---------- Other arb app-level ?kvs given to signal creator. Typically NOT included
|
|
in handler output, so a great way to provide custom data/opts for use
|
|
(only) by custom transforms/handlers.
|
|
|
|
If anything is unclear, please ping me (@ptaoussanis) so that I can improve these docs!
|
|
|
|
[1] `java.time.Instant` or `js/Date`
|
|
[2] `java.lang.Throwable` or `js/Error`
|