Opentelemetry.TraceTraces.
See the spec
type span = Span.tval make_resource_spans :
?service_name:string ->
?attrs:
(string * [< `Bool of bool | `Int of int | `None | `String of string ])
list ->
Proto.Trace.span list ->
Proto.Trace.resource_spansval emit :
?service_name:string ->
?attrs:
(string * [< `Bool of bool | `Int of int | `None | `String of string ])
list ->
span list ->
unitSync emitter
type scope = {trace_id : Trace_id.t; |
span_id : Span_id.t; |
mutable events : Event.t list; |
mutable attrs : Span.key_value list; |
}Scope to be used with with_.
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 : scope -> ( unit -> Span.key_value list ) -> unitAdd 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 with_ :
?trace_state:string ->
?service_name:string ->
?attrs:(string * value) list ->
?kind:Span.kind ->
?trace_id:Trace_id.t ->
?parent:Span.id ->
?scope:scope ->
?links:(Trace_id.t * Span_id.t * string) list ->
string ->
( scope -> 'a ) ->
'aSync span guard