package opentelemetry-lwt

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
include module type of struct include Opentelemetry.Trace end

Traces.

See the spec

val make_resource_spans : ?service_name:string -> ?attrs: (string * [< `Bool of bool | `Int of int | `None | `String of string ]) list -> Opentelemetry.Proto.Trace.span list -> Opentelemetry.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 = Opentelemetry.Trace.scope = {
  1. trace_id : Opentelemetry.Trace_id.t;
  2. span_id : Opentelemetry.Span_id.t;
  3. mutable events : Opentelemetry.Event.t list;
  4. mutable attrs : Opentelemetry.Span.key_value list;
}

Scope to be used with with_.

val add_event : scope -> (unit -> Opentelemetry.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 : scope -> (unit -> Opentelemetry.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:Opentelemetry.Span.key_value list -> ?kind:Span.kind -> ?trace_id:Trace_id.t -> ?parent:Span.id -> ?scope:scope -> ?links:(Opentelemetry.Trace_id.t * Opentelemetry.Span_id.t * string) list -> string -> (Opentelemetry.Trace.scope -> 'a Lwt.t) -> 'a0 Lwt.t

Sync span guard