mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-10 20:48:35 -04:00
better logging for http consumer
This commit is contained in:
parent
ce3c85869b
commit
31e9812b4f
3 changed files with 13 additions and 5 deletions
|
|
@ -12,12 +12,18 @@ let str_to_hex (s : string) : string =
|
||||||
Opentelemetry_util.Util_bytes_.bytes_to_hex (Bytes.unsafe_of_string s)
|
Opentelemetry_util.Util_bytes_.bytes_to_hex (Bytes.unsafe_of_string s)
|
||||||
|
|
||||||
(** Report the error on stderr. *)
|
(** Report the error on stderr. *)
|
||||||
let report_err : t -> unit = function
|
let report_err ~level:(provided_level : [ `Debug | `Auto ]) (err : t) : unit =
|
||||||
|
let compute_level lvl =
|
||||||
|
match provided_level with
|
||||||
|
| `Debug -> Opentelemetry.Self_debug.Debug
|
||||||
|
| `Auto -> lvl
|
||||||
|
in
|
||||||
|
match err with
|
||||||
| `Sysbreak ->
|
| `Sysbreak ->
|
||||||
Opentelemetry.Self_debug.log Opentelemetry.Self_debug.Info (fun () ->
|
Opentelemetry.Self_debug.log (compute_level Info) (fun () ->
|
||||||
"opentelemetry: ctrl-c captured, stopping")
|
"opentelemetry: ctrl-c captured, stopping")
|
||||||
| `Failure msg ->
|
| `Failure msg ->
|
||||||
Opentelemetry.Self_debug.log Opentelemetry.Self_debug.Error (fun () ->
|
Opentelemetry.Self_debug.log (compute_level Error) (fun () ->
|
||||||
Printf.sprintf "opentelemetry: export failed: %s" msg)
|
Printf.sprintf "opentelemetry: export failed: %s" msg)
|
||||||
| `Status
|
| `Status
|
||||||
( code,
|
( code,
|
||||||
|
|
@ -28,7 +34,7 @@ let report_err : t -> unit = function
|
||||||
_presence = _;
|
_presence = _;
|
||||||
},
|
},
|
||||||
descr ) ->
|
descr ) ->
|
||||||
Opentelemetry.Self_debug.log Opentelemetry.Self_debug.Error (fun () ->
|
Opentelemetry.Self_debug.log (compute_level Error) (fun () ->
|
||||||
let pp_details out l =
|
let pp_details out l =
|
||||||
List.iter
|
List.iter
|
||||||
(fun s -> Format.fprintf out "%S;@ " (Bytes.unsafe_to_string s))
|
(fun s -> Format.fprintf out "%S;@ " (Bytes.unsafe_to_string s))
|
||||||
|
|
|
||||||
|
|
@ -128,7 +128,7 @@ end = struct
|
||||||
IO.return ()
|
IO.return ()
|
||||||
| Error err ->
|
| Error err ->
|
||||||
Atomic.incr n_errors;
|
Atomic.incr n_errors;
|
||||||
Export_error.report_err err;
|
Export_error.report_err ~level:`Auto err;
|
||||||
(* avoid crazy error loop *)
|
(* avoid crazy error loop *)
|
||||||
let dur_s = Util_net_backoff.on_error backoff in
|
let dur_s = Util_net_backoff.on_error backoff in
|
||||||
IO.sleep_s (dur_s +. Random.float (dur_s /. 10.))
|
IO.sleep_s (dur_s +. Random.float (dur_s /. 10.))
|
||||||
|
|
|
||||||
|
|
@ -82,6 +82,8 @@ end = struct
|
||||||
| Error err
|
| Error err
|
||||||
when should_retry err && attempt < self.config.retry_max_attempts ->
|
when should_retry err && attempt < self.config.retry_max_attempts ->
|
||||||
let delay_s = delay_ms /. 1000. in
|
let delay_s = delay_ms /. 1000. in
|
||||||
|
Export_error.report_err ~level:`Debug err;
|
||||||
|
|
||||||
let* () = sleep_s delay_s in
|
let* () = sleep_s delay_s in
|
||||||
let next_delay =
|
let next_delay =
|
||||||
min self.config.retry_max_delay_ms
|
min self.config.retry_max_delay_ms
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue