type snapshot = Sample_set.t LabelSetMap.t MetricFamilyMap.t
The result of reading a set of metrics.
val create : unit -> t
create ()
is a fresh registry. This is mostly useful for testing.
val default : t
The default registry.
val register : t -> MetricInfo.t -> (unit -> Sample_set.t LabelSetMap.t) -> unit
register t metric collector
adds metric
to the set of metrics being collected. It will call collector ()
to collect the values each time collect
is called.
val register_pre_collect : t -> (unit -> unit) -> unit
register_pre_collect t fn
arranges for fn ()
to be called at the start of each collection. This is useful if one expensive call provides information about multiple metrics.