Module Time_utils.Latency

Latency measurement utilities

type measurement = {
  1. start_ns : timestamp_ns;
  2. end_ns : timestamp_ns;
  3. duration_ns : duration_ns;
  4. label : string;
}
type tracker
val create_tracker : unit -> tracker
val start_measurement : tracker -> string -> unit
val end_measurement : tracker -> measurement option
val get_measurements : tracker -> measurement list
val clear_measurements : tracker -> unit
val measure_function : string -> (unit -> 'a) -> 'a * measurement
val get_statistics : measurement list -> latency_stats option