Module Opentelemetry_core.Exporter

Exporter.

This is the pluggable component that actually sends signals to a OTEL collector, or prints them, or saves them somewhere.

This is part of the SDK, not just the API, so most real implementations live in their own library.

type t = {
  1. export : Any_signal_l.t -> unit;
    (*

    Export a batch of signals. Called by the provider when signals are ready to be sent.

    *)
  2. active : unit -> Opentelemetry_util.Aswitch.t;
    (*

    Lifecycle switch: turns off when the exporter has fully shut down (i.e. the consumer queue is drained).

    *)
  3. shutdown : unit -> unit;
    (*

    shutdown () initiates shutdown: flushes remaining batches, closes the queue, etc. Watch active to know when it's complete.

    • since 0.12
    *)
  4. self_metrics : unit -> Metrics.t list;
    (*

    metrics about the exporter itself

    *)
}

Main exporter interface.

val dummy : unit -> t

Dummy exporter, does nothing

val shutdown : t -> unit
val cleanup : t -> unit
val self_metrics : t -> Metrics.t list