Opentelemetry_client.Exporter_queuedBuild an exporter from a queue and a consumer.
The exporter will send signals into the queue (possibly dropping them if the queue is full), and the consumer is responsible for actually exporting the signals it reads from the other end of the queue.
At shutdown time, the queue is closed for writing, but only once it's empty will the consumer properly shutdown.
module BQ = Bounded_queueval create :
clock:Opentelemetry_client.Common_.OTEL.Clock.t ->
q:Opentelemetry_client.Common_.OTEL.Any_signal_l.t Bounded_queue.t ->
consumer:Consumer.any_signal_l_builder ->
unit ->
Opentelemetry_client.Common_.OTEL.Exporter.tPair a queue with a consumer to build an exporter.
The resulting exporter will emit logs, spans, and traces directly into the bounded queue; while the consumer takes them from the queue to forward them somewhere else, store them, etc.