package prometheus

  1. Overview
  2. Docs

A counter is a cumulative metric that represents a single numerical value that only ever goes up.

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 t by v, which must be non-negative.