opentelemetry
Instrumentation for https://opentelemetry.io
1024" x-on:close-sidebar="sidebar=window.innerWidth > 1024 && true">
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Library opentelemetry
type span = Span.t
val 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_spans
val emit :
?service_name:string ->
?attrs:
(string * [< `Bool of bool | `Int of int | `None | `String of string ])
list ->
span list ->
unit
Sync emitter.
This instructs the collector to forward the spans to some backend at a later point.
NOTE be careful not to call this inside a Gc alarm, as it can cause deadlocks.
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 ) -> 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 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 ) ->
'a0
Sync span guard.
NOTE be careful not to call this inside a Gc alarm, as it can cause deadlocks.