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. (** Logs.
The logger is an object that can be used to emit logs.
See See
{{:https://opentelemetry.io/docs/reference/specification/overview/#log-signal} {{:https://opentelemetry.io/docs/reference/specification/overview/#log-signal}
the spec} *) 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 open Exporter
@ -26,7 +28,7 @@ let remove ~on_done () : unit =
shutdown exp shutdown exp
(** Is there a configured exporter? *) (** 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 *) (** Current exporter, if any *)
let[@inline] get () : t option = Atomic.get exporter let[@inline] get () : t option = Atomic.get exporter
@ -38,8 +40,11 @@ let add_on_tick_callback f =
module Util = struct module Util = struct
open Opentelemetry_emitter open Opentelemetry_emitter
(** An emitter that uses the current main *) (** An emitter that uses the corresponding emitter in the current main
let dynamic_forward_to_main_exporter ~get_emitter () : _ Emitter.t = 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 enabled () = present () in
let closed () = not (enabled ()) in let closed () = not (enabled ()) in
let flush_and_close () = () in let flush_and_close () = () in
@ -72,15 +77,15 @@ let[@inline] active () : Aswitch.t =
@since NEXT_RELEASE *) @since NEXT_RELEASE *)
let dynamic_forward_to_main_exporter : Exporter.t = let dynamic_forward_to_main_exporter : Exporter.t =
let emit_logs = let emit_logs =
Util.dynamic_forward_to_main_exporter () Util.dynamic_forward_emitter_to_main_exporter ()
~get_emitter:Exporter.(fun e -> e.emit_logs) ~get_emitter:Exporter.(fun e -> e.emit_logs)
in in
let emit_metrics = let emit_metrics =
Util.dynamic_forward_to_main_exporter () Util.dynamic_forward_emitter_to_main_exporter ()
~get_emitter:Exporter.(fun e -> e.emit_metrics) ~get_emitter:Exporter.(fun e -> e.emit_metrics)
in in
let emit_spans = let emit_spans =
Util.dynamic_forward_to_main_exporter () Util.dynamic_forward_emitter_to_main_exporter ()
~get_emitter:Exporter.(fun e -> e.emit_spans) ~get_emitter:Exporter.(fun e -> e.emit_spans)
in in
let on_tick f = let on_tick f =

View file

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

View file

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