mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-11 21:18:33 -04:00
tidy up src/lib
This commit is contained in:
parent
1a77e8d91e
commit
696a5d4b91
4 changed files with 21 additions and 8 deletions
|
|
@ -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} *)
|
||||||
|
|
|
||||||
|
|
@ -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 =
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
(** Metrics.
|
||||||
|
|
||||||
|
The metrics emitter is used to, well, emit metrics. *)
|
||||||
|
|
||||||
open Opentelemetry_emitter
|
open Opentelemetry_emitter
|
||||||
|
|
||||||
type t = {
|
type t = {
|
||||||
|
|
|
||||||
|
|
@ -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} *)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue