Metrics.Tags
Tags
indexes metric sources, and allow to enable/disable data collection at runtime.
Tags
are heterogeneous lists of key names and type of values, which are associated to data sources. Filters on key names allow to select which data sources is enabled at runtime. Disabled data sources have a very low cost -- only allocating a closure.
For instance, to define the tags "PID", "IP" and "host", respectively of type int
, Ipaddr.t
:
let ipaddr = Tags.v Ipaddr.pp_hum in
let t = Tags.[ int "PID" ; ipaddr "IP" ; string "host"; ]
The type tags: an heterogeneous list of names and types.
val v : 'a Fmt.t -> string -> 'a v
ty pp
is a new typed tag.
val string : string -> string v
val float : string -> float v
val int : string -> int v
val uint : string -> int v
val int32 : string -> int32 v
val uint32 : string -> int32 v
val int64 : string -> int64 v
val uint64 : string -> int64 v
val bool : string -> bool v