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
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)
module Noop_backend : BACKEND
module Debug_backend (B : BACKEND) : BACKEND
val debug_backend : backend
val set_backend : backend -> unit
Set collector backend
val get_backend : unit -> backend option
Current backend, if any
val send_trace :
Opentelemetry_proto.Trace.resource_spans list ->
ret:(unit -> 'a) ->
'b
val send_metrics :
Opentelemetry_proto.Metrics.resource_metrics list ->
ret:(unit -> 'a) ->
'b
val send_logs :
Opentelemetry_proto.Logs.resource_logs list ->
ret:(unit -> 'a) ->
'b
Do background work. Call this regularly if the collector doesn't already have a ticker thread or internal timer.
val with_setup_debug_backend :
backend ->
?enable:bool ->
unit ->
(unit -> 'a) ->
'b