mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-09 12:23:32 -04:00
update the emit test so it records how many bytes were emitted
This commit is contained in:
parent
bf09b58a63
commit
f000c11406
4 changed files with 17 additions and 2 deletions
|
|
@ -117,6 +117,8 @@ module Backend_impl : sig
|
||||||
|
|
||||||
val send_event : t -> Event.t -> unit
|
val send_event : t -> Event.t -> unit
|
||||||
|
|
||||||
|
val n_bytes_sent : unit -> int
|
||||||
|
|
||||||
val shutdown : t -> on_done:(unit -> unit) -> unit
|
val shutdown : t -> on_done:(unit -> unit) -> unit
|
||||||
end = struct
|
end = struct
|
||||||
open Opentelemetry.Proto
|
open Opentelemetry.Proto
|
||||||
|
|
@ -187,6 +189,10 @@ end = struct
|
||||||
|
|
||||||
let[@inline] send_event (self : t) ev : unit = B_queue.push self.q ev
|
let[@inline] send_event (self : t) ev : unit = B_queue.push self.q ev
|
||||||
|
|
||||||
|
let n_bytes_sent_ = Atomic.make 0
|
||||||
|
|
||||||
|
let[@inline] n_bytes_sent () = Atomic.get n_bytes_sent_
|
||||||
|
|
||||||
(** Thread that, in a loop, reads from [q] to get the next message to send via
|
(** Thread that, in a loop, reads from [q] to get the next message to send via
|
||||||
http *)
|
http *)
|
||||||
let bg_thread_loop (self : t) : unit =
|
let bg_thread_loop (self : t) : unit =
|
||||||
|
|
@ -199,7 +205,9 @@ end = struct
|
||||||
Self_trace.with_ ~kind:Span_kind_producer name
|
Self_trace.with_ ~kind:Span_kind_producer name
|
||||||
~attrs:[ "n", `Int (List.length l) ]
|
~attrs:[ "n", `Int (List.length l) ]
|
||||||
in
|
in
|
||||||
conv l |> send_http_ ~stop ~config ~url client
|
let msg = conv l in
|
||||||
|
ignore (Atomic.fetch_and_add n_bytes_sent_ (String.length msg) : int);
|
||||||
|
send_http_ ~stop ~config ~url client msg
|
||||||
in
|
in
|
||||||
try
|
try
|
||||||
while not (Atomic.get stop) do
|
while not (Atomic.get stop) do
|
||||||
|
|
@ -471,3 +479,5 @@ let with_setup ?stop ?config ?(enable = true) () f =
|
||||||
Fun.protect ~finally:remove_backend f
|
Fun.protect ~finally:remove_backend f
|
||||||
) else
|
) else
|
||||||
f ()
|
f ()
|
||||||
|
|
||||||
|
let n_bytes_sent = Backend_impl.n_bytes_sent
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,9 @@ val set_headers : (string * string) list -> unit
|
||||||
module Atomic = Opentelemetry_atomic.Atomic
|
module Atomic = Opentelemetry_atomic.Atomic
|
||||||
module Config = Config
|
module Config = Config
|
||||||
|
|
||||||
|
val n_bytes_sent : unit -> int
|
||||||
|
(** Global counter of bytes sent (or attempted to be sent) *)
|
||||||
|
|
||||||
val create_backend :
|
val create_backend :
|
||||||
?stop:bool Atomic.t ->
|
?stop:bool Atomic.t ->
|
||||||
?config:Config.t ->
|
?config:Config.t ->
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
module OT = Opentelemetry
|
module OT = Opentelemetry
|
||||||
|
|
||||||
let enabled = Atomic.make true
|
let enabled = Atomic.make false
|
||||||
|
|
||||||
let add_event (scope : OT.Scope.t) ev = OT.Scope.add_event scope (fun () -> ev)
|
let add_event (scope : OT.Scope.t) ev = OT.Scope.add_event scope (fun () -> ev)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -86,6 +86,8 @@ let run () =
|
||||||
[
|
[
|
||||||
sum ~name:"num-sleep" ~is_monotonic:true
|
sum ~name:"num-sleep" ~is_monotonic:true
|
||||||
[ int (Atomic.get num_sleep) ];
|
[ int (Atomic.get num_sleep) ];
|
||||||
|
sum ~name:"otel.bytes-sent" ~is_monotonic:true ~unit_:"B"
|
||||||
|
[ int (Opentelemetry_client_ocurl.n_bytes_sent ()) ];
|
||||||
]);
|
]);
|
||||||
|
|
||||||
let n_jobs = max 1 !n_jobs in
|
let n_jobs = max 1 !n_jobs in
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue