Documentation ¶
Overview ¶
Package metrics provides storage for metrics being recorded by mtail programs.
Index ¶
Constants ¶
const ( Int = datum.Int Float = datum.Float )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Kind ¶
type Kind int
Kind enumerates the types of metrics supported.
const ( Counter Kind // Gauge is a Kind that can take on any value, and may be set // discontinuously from its previous value. Gauge // Timer is a specialisation of Gauge that can be used to store time // intervals, such as latency and durations. It enables certain behaviour // in exporters that handle time intervals such as StatsD. Timer )
type LabelSet ¶
LabelSet is an object that maps the keys of a Metric to the labels naming a Datum, for use when enumerating Datums from a Metric.
type LabelValue ¶
LabelValue is an object that names a Datum value with a list of label strings.
func (*LabelValue) String ¶
func (lv *LabelValue) String() string
func (*LabelValue) UnmarshalJSON ¶
func (lv *LabelValue) UnmarshalJSON(b []byte) error
type Metric ¶
type Metric struct { sync.RWMutex Name string // Name Program string // Instantiating program Kind Kind Type datum.Type Hidden bool `json:",omitempty"` Keys []string `json:",omitempty"` LabelValues []*LabelValue `json:",omitempty"` }
Metric is an object that describes a metric, with its name, the creator and owner program name, its Kind, a sequence of Keys that may be used to add dimension to the metric, and a list of LabelValues that contain data for labels in each dimension of the Keys.
func (*Metric) EmitLabelSets ¶
EmitLabelSets enumerates the LabelSets corresponding to the LabelValues of a Metric. It emits them onto the provided channel, then closes the channel to signal completion.
func (*Metric) GetDatum ¶
GetDatum returns the datum named by a sequence of string label values from a Metric. If the sequence of label values does not yet exist, it is created.
func (*Metric) RemoveDatum ¶
type Store ¶
Store contains Metrics.
func (*Store) ClearMetrics ¶
func (s *Store) ClearMetrics()
ClearMetrics empties the store of all metrics.