Module Opentelemetry.Scope

Scopes.

A scope is a trace ID and the span ID of the currently active span.

type t = {
trace_id : Trace_id.t;
span_id : Span_id.t;
mutable events : Event.t list;
mutable attrs : key_value list;
}
val add_event : t -> ( 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 add_attrs : t -> ( unit -> key_value list ) -> unit

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

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

val get_surrounding : ?scope:t -> unit -> t option

Obtain current scope from thread-local storage, if available