tidy up src/lib

This commit is contained in:
Simon Cruanes 2026-01-12 20:57:10 -05:00
parent 1a77e8d91e
commit 696a5d4b91
No known key found for this signature in database
GPG key ID: EBFFF6F283F3A2B4
4 changed files with 21 additions and 8 deletions

View file

@ -1,5 +1,7 @@
(** Logs.
The logger is an object that can be used to emit logs.
See
{{:https://opentelemetry.io/docs/reference/specification/overview/#log-signal}
the spec} *)

View file

@ -1,6 +1,8 @@
(** Main exporter, used by the main tracing functions.
(** Main exporter.
It is better to pass an explicit exporter when possible. *)
This is a singleton exporter, or [None] if not defined. It is better to pass
an explicit exporter when possible, but this is quite convenient and most
programs only need one exporter. *)
open Exporter
@ -26,7 +28,7 @@ let remove ~on_done () : unit =
shutdown exp
(** Is there a configured exporter? *)
let present () : bool = Option.is_some (Atomic.get exporter)
let[@inline] present () : bool = Option.is_some (Atomic.get exporter)
(** Current exporter, if any *)
let[@inline] get () : t option = Atomic.get exporter
@ -38,8 +40,11 @@ let add_on_tick_callback f =
module Util = struct
open Opentelemetry_emitter
(** An emitter that uses the current main *)
let dynamic_forward_to_main_exporter ~get_emitter () : _ Emitter.t =
(** An emitter that uses the corresponding emitter in the current main
exporter. When this emitter is used to [emit signals], the current
exporter is looked up, [get_emitter exporter] is then used to locate the
relevant emitter [e'], and [signals] is in turn emitted in [e']. *)
let dynamic_forward_emitter_to_main_exporter ~get_emitter () : _ Emitter.t =
let enabled () = present () in
let closed () = not (enabled ()) in
let flush_and_close () = () in
@ -72,15 +77,15 @@ let[@inline] active () : Aswitch.t =
@since NEXT_RELEASE *)
let dynamic_forward_to_main_exporter : Exporter.t =
let emit_logs =
Util.dynamic_forward_to_main_exporter ()
Util.dynamic_forward_emitter_to_main_exporter ()
~get_emitter:Exporter.(fun e -> e.emit_logs)
in
let emit_metrics =
Util.dynamic_forward_to_main_exporter ()
Util.dynamic_forward_emitter_to_main_exporter ()
~get_emitter:Exporter.(fun e -> e.emit_metrics)
in
let emit_spans =
Util.dynamic_forward_to_main_exporter ()
Util.dynamic_forward_emitter_to_main_exporter ()
~get_emitter:Exporter.(fun e -> e.emit_spans)
in
let on_tick f =

View file

@ -1,3 +1,7 @@
(** Metrics.
The metrics emitter is used to, well, emit metrics. *)
open Opentelemetry_emitter
type t = {

View file

@ -1,5 +1,7 @@
(** Traces.
The tracer is an object that can be used to emit spans that form a trace.
See
{{:https://opentelemetry.io/docs/reference/specification/overview/#tracing-signal}
the spec} *)