Module Opentelemetry.Trace

Traces.

See the spec

type span = Span.t
val emit : span list -> unit

Sync emitter

type scope = {
trace_id : Trace_id.t;
span_id : Span_id.t;
mutable events : Event.t list;
}

Scope to be used with with_.

val add_event : scope -> ( unit -> Event.t ) -> unit

Add an event to the scope. It will be aggregated into the span.

Note that this takes a function that produces an event, and will only call it if there is an instrumentation backend.

val with_ : ?trace_state:string -> ?service_name:string -> ?attrs:Span.key_value list -> ?kind:Span.kind -> ?trace_id:Trace_id.t -> ?parent:Span.id -> ?links:(Trace_id.t * Span_id.t * string) list -> string -> ( scope -> 'a ) -> 'a

Sync span guard