mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-10 20:48:35 -04:00
use the correct clock in logger/metrics; use ptime_clock as default
This commit is contained in:
parent
46960e2021
commit
e01a2f773b
6 changed files with 8 additions and 10 deletions
|
|
@ -3,8 +3,8 @@ open Opentelemetry_emitter
|
||||||
|
|
||||||
(** [debug ?out ()] is an exporter that pretty-prints signals on [out].
|
(** [debug ?out ()] is an exporter that pretty-prints signals on [out].
|
||||||
@param out the formatter into which to print, default [stderr]. *)
|
@param out the formatter into which to print, default [stderr]. *)
|
||||||
let debug ?(clock = OTEL.Clock.Main.dynamic_main) ?(out = Format.err_formatter)
|
let debug ?(clock = OTEL.Clock.ptime_clock) ?(out = Format.err_formatter) () :
|
||||||
() : OTEL.Exporter.t =
|
OTEL.Exporter.t =
|
||||||
let open Proto in
|
let open Proto in
|
||||||
let active, trigger = Aswitch.create () in
|
let active, trigger = Aswitch.create () in
|
||||||
let ticker = Cb_set.create () in
|
let ticker = Cb_set.create () in
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ type t = {
|
||||||
clock: Clock.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
|
let[@inline] enabled (self : t) : bool = Emitter.enabled self.emit
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@ let dynamic_forward_to_main_exporter : Exporter.t =
|
||||||
let shutdown () = () in
|
let shutdown () = () in
|
||||||
{
|
{
|
||||||
Exporter.active;
|
Exporter.active;
|
||||||
clock = Clock.Main.dynamic_main;
|
clock = Clock.ptime_clock;
|
||||||
emit_metrics;
|
emit_metrics;
|
||||||
emit_spans;
|
emit_spans;
|
||||||
emit_logs;
|
emit_logs;
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ type t = {
|
||||||
clock: Clock.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
|
let[@inline] enabled (self : t) = Emitter.enabled self.emit
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ type t = {
|
||||||
https://opentelemetry.io/docs/specs/otel/trace/api/#tracer *)
|
https://opentelemetry.io/docs/specs/otel/trace/api/#tracer *)
|
||||||
|
|
||||||
(** Dummy tracer, always disabled *)
|
(** 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
|
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, Some p -> Span.trace_id p
|
||||||
| None, None -> Trace_id.create ()
|
| None, None -> Trace_id.create ()
|
||||||
in
|
in
|
||||||
(* TODO: pass a clock in emitters *)
|
let start_time = Clock.now self.clock in
|
||||||
let start_time = Clock.now_main () in
|
|
||||||
let span_id = Span_id.create () in
|
let span_id = Span_id.create () in
|
||||||
|
|
||||||
let parent_id = Option.map Span.id parent 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
|
in
|
||||||
(* called once we're done, to emit a span *)
|
(* called once we're done, to emit a span *)
|
||||||
let finally res =
|
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;
|
Proto.Trace.span_set_end_time_unix_nano span end_time;
|
||||||
|
|
||||||
(match Span.status span with
|
(match Span.status span with
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
open Lwt.Syntax
|
|
||||||
include Opentelemetry
|
include Opentelemetry
|
||||||
|
|
||||||
module Main_exporter = struct
|
module Main_exporter = struct
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue