Module Opentelemetry.Collector

Collector types

These types are used by backend implementations, to send events to collectors such as Jaeger.

Note: most users will not need to touch this module

type 'msg sender = {
send : 'a. 'msg -> ret:( unit -> 'a ) -> 'a;
}

Sender interface for a message of type msg. Inspired from Logs' reporter (see its doc) but without over as it doesn't make much sense in presence of batching.

The ret callback is used to return the desired type (unit, or a Lwt promise, or anything else) once the event has been transferred to the backend. It doesn't mean the event has been collected yet, it could sit in a batch queue for a little while.

module type BACKEND = sig ... end

Collector client interface.

type backend = (module BACKEND)
val backend : backend option Stdlib.ref
val has_backend : unit -> bool

Is there a configured backend?

val send_trace : Proto.Trace.resource_spans list -> ret:( unit -> 'a ) -> 'a
val send_metrics : Proto.Metrics.resource_metrics list -> ret:( unit -> 'a ) -> 'a
val rand_bytes_16 : unit -> bytes
val rand_bytes_8 : unit -> bytes