package prometheus

  1. Overview
  2. Docs

A gauge is a metric that represents a single numerical value that can arbitrarily go up and down.

include METRIC
type family

A collection of metrics that are the same except for their labels. e.g. "Number of HTTP responses"

type t

A particular metric. e.g. "Number of HTTP responses with code=404"

val v_labels : label_names:string list -> ?registry:CollectorRegistry.t -> help:string -> ?namespace:string -> ?subsystem:string -> string -> family

v_labels ~label_names ~help ~namespace ~subsystem name is a family of metrics with full name namespace_subsystem_name and documentation string help. Each metric in the family will provide a value for each of the labels. The new family is registered with registry (default: CollectorRegistry.default).

val labels : family -> string list -> t

labels family label_values is the metric in family with these values for the labels. The order of the values must be the same as the order of the label_names passed to v_labels; you may wish to write a wrapper function with labelled arguments to avoid mistakes. If this is called multiple times with the same set of values, the existing metric will be returned.

val v_label : label_name:string -> ?registry:CollectorRegistry.t -> help:string -> ?namespace:string -> ?subsystem:string -> string -> string -> t

v_label is a convenience wrapper around v_labels for the case where there is a single label. The result is a function from the single label's value to the metric.

val v : ?registry:CollectorRegistry.t -> help:string -> ?namespace:string -> ?subsystem:string -> string -> t

v is a convenience wrapper around v_labels for the case where there are no labels.

val inc_one : t -> unit
val inc : t -> float -> unit

inc t v increases the current value of the guage by v.

val dec_one : t -> unit
val dec : t -> float -> unit

dec t v decreases the current value of the guage by v.

val set : t -> float -> unit

set t v sets the current value of the guage to v.

val track_inprogress : t -> (unit -> 'a Lwt.t) -> 'a Lwt.t

track_inprogress t f increases the value of the gauge by one while f () is running.

val time : t -> (unit -> float) -> (unit -> 'a Lwt.t) -> 'a Lwt.t

time t gettime f calls gettime () before and after executing f () and increases the metric by the difference.

OCaml

Innovation. Community. Security.