package index

  1. Overview
  2. Docs

Run-time metric tracking for index instances.

type t = {
  1. mutable bytes_read : int;
  2. mutable nb_reads : int;
  3. mutable bytes_written : int;
  4. mutable nb_writes : int;
  5. mutable nb_merge : int;
  6. mutable merge_durations : float list;
  7. mutable nb_replace : int;
  8. mutable replace_durations : float list;
  9. mutable nb_sync : int;
  10. mutable time_sync : float;
}

The type for stats for an index I.

  • bytes_read is the number of bytes read from disk;
  • nb_reads is the number of reads from disk;
  • bytes_written is the number of bytes written to disk;
  • nb_writes is the number of writes to disk;
  • nb_merge is the number of times a merge occurred;
  • merge_durations lists how much time the last 10 merge operations took (in microseconds);
  • nb_replace is the number of calls to I.replace;
  • replace_durations lists how much time replace operations took. Each element is an average of n consecutive replaces, where n is the sampling_interval specified when calling end_replace.
  • time_sync is the duration of the latest call to sync.
val reset_stats : unit -> unit
val get : unit -> t
val add_read : int -> unit
val add_write : int -> unit
val incr_nb_merge : unit -> unit
val incr_nb_replace : unit -> unit
val incr_nb_sync : unit -> unit
val start_replace : unit -> unit
val end_replace : sampling_interval:int -> unit
val sync_with_timer : (unit -> unit) -> unit
val add_merge_duration : Mtime.Span.t -> unit