use the correct clock in logger/metrics; use ptime_clock as default

This commit is contained in:
Simon Cruanes 2025-12-17 15:50:05 -05:00
parent 46960e2021
commit e01a2f773b
No known key found for this signature in database
GPG key ID: EBFFF6F283F3A2B4
6 changed files with 8 additions and 10 deletions

View file

@ -3,8 +3,8 @@ open Opentelemetry_emitter
(** [debug ?out ()] is an exporter that pretty-prints signals on [out].
@param out the formatter into which to print, default [stderr]. *)
let debug ?(clock = OTEL.Clock.Main.dynamic_main) ?(out = Format.err_formatter)
() : OTEL.Exporter.t =
let debug ?(clock = OTEL.Clock.ptime_clock) ?(out = Format.err_formatter) () :
OTEL.Exporter.t =
let open Proto in
let active, trigger = Aswitch.create () in
let ticker = Cb_set.create () in

View file

@ -13,7 +13,7 @@ type t = {
clock: Clock.t;
}
let dummy : t = { emit = Emitter.dummy; clock = Clock.Main.dynamic_main }
let dummy : t = { emit = Emitter.dummy; clock = Clock.ptime_clock }
let[@inline] enabled (self : t) : bool = Emitter.enabled self.emit

View file

@ -101,7 +101,7 @@ let dynamic_forward_to_main_exporter : Exporter.t =
let shutdown () = () in
{
Exporter.active;
clock = Clock.Main.dynamic_main;
clock = Clock.ptime_clock;
emit_metrics;
emit_spans;
emit_logs;

View file

@ -5,7 +5,7 @@ type t = {
clock: Clock.t;
}
let dummy : t = { emit = Emitter.dummy; clock = Clock.Main.dynamic_main }
let dummy : t = { emit = Emitter.dummy; clock = Clock.ptime_clock }
let[@inline] enabled (self : t) = Emitter.enabled self.emit

View file

@ -19,7 +19,7 @@ type t = {
https://opentelemetry.io/docs/specs/otel/trace/api/#tracer *)
(** Dummy tracer, always disabled *)
let dummy : t = { emit = Emitter.dummy; clock = Clock.Main.dynamic_main }
let dummy : t = { emit = Emitter.dummy; clock = Clock.ptime_clock }
let[@inline] enabled (self : t) = Emitter.enabled self.emit
@ -50,8 +50,7 @@ let with_thunk_and_finally (self : t) ?(force_new_trace_id = false) ?trace_state
| None, Some p -> Span.trace_id p
| None, None -> Trace_id.create ()
in
(* TODO: pass a clock in emitters *)
let start_time = Clock.now_main () in
let start_time = Clock.now self.clock in
let span_id = Span_id.create () in
let parent_id = Option.map Span.id parent in
@ -62,7 +61,7 @@ let with_thunk_and_finally (self : t) ?(force_new_trace_id = false) ?trace_state
in
(* called once we're done, to emit a span *)
let finally res =
let end_time = Clock.now_main () in
let end_time = Clock.now self.clock in
Proto.Trace.span_set_end_time_unix_nano span end_time;
(match Span.status span with

View file

@ -1,4 +1,3 @@
open Lwt.Syntax
include Opentelemetry
module Main_exporter = struct