mirror of
https://github.com/ocaml-tracing/ocaml-opentelemetry.git
synced 2026-03-08 03:47:59 -04:00
24 lines
470 B
OCaml
24 lines
470 B
OCaml
type 'a t = {
|
|
mutable len: int;
|
|
mutable l: 'a list list;
|
|
mutable started: Mtime.t;
|
|
}
|
|
|
|
let create () = { len = 0; l = []; started = Mtime_clock.now () }
|
|
|
|
let push self l =
|
|
if l != [] then (
|
|
if self.l == [] then self.started <- Mtime_clock.now ();
|
|
self.l <- l :: self.l;
|
|
self.len <- self.len + List.length l
|
|
)
|
|
|
|
let len self = self.len
|
|
|
|
let time_started self = self.started
|
|
|
|
let pop_all self =
|
|
let l = self.l in
|
|
self.l <- [];
|
|
self.len <- 0;
|
|
l
|