mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-08 20:07:55 -04:00
22 lines
502 B
OCaml
22 lines
502 B
OCaml
module OT = Opentelemetry
|
|
|
|
let enabled = Atomic.make true
|
|
|
|
let add_event (scope : OT.Scope.t) ev = OT.Scope.add_event scope (fun () -> ev)
|
|
|
|
let dummy_trace_id_ = OT.Trace_id.dummy
|
|
|
|
let dummy_span_id = OT.Span_id.dummy
|
|
|
|
let with_ ?kind ?attrs name f =
|
|
if Atomic.get enabled then
|
|
OT.Trace.with_ ?kind ?attrs name f
|
|
else (
|
|
(* do nothing *)
|
|
let scope =
|
|
OT.Scope.make ~trace_id:dummy_trace_id_ ~span_id:dummy_span_id ()
|
|
in
|
|
f scope
|
|
)
|
|
|
|
let set_enabled b = Atomic.set enabled b
|