mirror of
https://github.com/taoensso/telemere.git
synced 2025-12-16 17:41:12 +00:00
[mod] OpenTelemetry: use standard attribute names when possible
This commit is contained in:
parent
2c5599c234
commit
bb715fb206
2 changed files with 28 additions and 18 deletions
|
|
@ -133,34 +133,44 @@
|
|||
|
||||
(defn- signal->attrs
|
||||
"Returns `Attributes` for given signal.
|
||||
Ref. <https://opentelemetry.io/docs/specs/otel/logs/data-model/>."
|
||||
Ref. <https://opentelemetry.io/docs/specs/otel/logs/data-model/>,
|
||||
<https://opentelemetry.io/docs/specs/semconv/attributes-registry/>."
|
||||
^Attributes [signal]
|
||||
(let [ab (Attributes/builder)]
|
||||
(put-attr! ab "error" (utils/error-signal? signal)) ; Standard
|
||||
;; (put-attr! ab "host.name" (utils/hostname)) ; Standard
|
||||
|
||||
(when-let [{:keys [name ip]} (get signal :host)]
|
||||
(put-attr! ab "host.name" name) ; Standard
|
||||
;; Both standard
|
||||
(put-attr! ab "host.name" name)
|
||||
(put-attr! ab "host.ip" ip))
|
||||
|
||||
(when-let [{:keys [name id]} (get signal :thread)]
|
||||
;; Both standard
|
||||
(put-attr! ab "thread.name" name)
|
||||
(put-attr! ab "thread.id" id))
|
||||
|
||||
(when-let [level (get signal :level)]
|
||||
(put-attr! ab "level" ; Standard
|
||||
(level->string level)))
|
||||
(put-attr! ab "level" (level->string level)))
|
||||
|
||||
(when-let [{:keys [type msg trace data]} (truss/ex-map (get signal :error))]
|
||||
(put-attr! ab "exception.type" type) ; Standard
|
||||
(put-attr! ab "exception.message" msg) ; Standard
|
||||
;; Standard
|
||||
(put-attr! ab "exception.type" type)
|
||||
(put-attr! ab "exception.message" msg)
|
||||
(when trace
|
||||
(put-attr! ab "exception.stacktrace" ; Standard
|
||||
(put-attr! ab "exception.stacktrace"
|
||||
(#'utils/format-clj-stacktrace trace)))
|
||||
|
||||
(when data (merge-attrs! ab "exception.data" data)))
|
||||
(when data ; Non-standard
|
||||
(merge-attrs! ab "exception.data" data)))
|
||||
|
||||
(let [{:keys [ns line file, kind id uid]} signal]
|
||||
(put-attr! ab "ns" ns)
|
||||
(put-attr! ab "line" line)
|
||||
(put-attr! ab "file" file)
|
||||
(let [{:keys [ns line column]} signal]
|
||||
;; All standard
|
||||
(put-attr! ab "code.namespace" ns)
|
||||
(put-attr! ab "code.line.number" line)
|
||||
(put-attr! ab "code.column.number" column))
|
||||
|
||||
(let [{:keys [kind id uid]} signal]
|
||||
(put-attr! ab "kind" kind)
|
||||
(put-attr! ab "id" id)
|
||||
(put-attr! ab "uid" uid))
|
||||
|
|
|
|||
|
|
@ -1012,9 +1012,9 @@
|
|||
{:kind :event
|
||||
:level :info
|
||||
|
||||
:ns "ns"
|
||||
:file "file"
|
||||
:line 100
|
||||
:ns "ns"
|
||||
:line 10
|
||||
:column 20
|
||||
|
||||
:id ::id1
|
||||
:uid #uuid "7e9c1df6-78e4-40ac-8c5c-e2353df9ab82"
|
||||
|
|
@ -1037,9 +1037,9 @@
|
|||
{"kind" ":event"
|
||||
"level" "INFO"
|
||||
|
||||
"ns" "ns"
|
||||
"file" "file"
|
||||
"line" 100
|
||||
"code.namespace" "ns"
|
||||
"code.line.number" 10
|
||||
"code.column.number" 20
|
||||
|
||||
"id" ":taoensso.telemere-tests/id1",
|
||||
"uid" "7e9c1df6-78e4-40ac-8c5c-e2353df9ab82",
|
||||
|
|
|
|||
Loading…
Reference in a new issue