## About

This page is about metrics as telemetry data context (realtime performance, monitoring of system)

A telemetry metric is a time serie with:

- timestamped
- numerical value
- and optional labels

## Other name

Monitoring Metrics are also known as:

- Statistical Collector
- Perfcounter (generally on Windows)
- Performance metrics
- Performance data

They are known as statistical data collectors because they gather data and compute statistics. They are used to collect, evaluate and report results, e.g.

- mean residence times of customers
- or the average utilisation of a server.

## Aggregated metrics / Statistics

An aggregated metrics is

- calculated from time serie data.
- a statistic(s) (See also the page Counter - Statistics (for Engineers on operational data))

They are event metrics.

For the business related view of metrics, see Dimensional Data Modeling - Metrics - Key Performance indicators (KPI)

## Type

### Counter

A Counter is a metric that:

- can go only up.
- is reset when the application restarts.
- is used to record occurrences of events like the number of customer arrivals
- is plotted with a rate function over an interval

Car example: the mileage counter.

### Gauge

A Gauge is a metric that can go up and down (gauge values are not rates).

Car Example: Speedometers

### Timer

A Timer measures both the count of timed events and the total time of all events timed.

### Others

- Histogram - A histogram ranks the measured values into predefined classes.
- Regressions: A Regression perform a regressional analysis of two different collected value series (x and y). It reports the number of observations, mean (for x and y), regression and correlation coefficients, standard deviations and interception.

Time series:

- Tallies. A tally records the mean and standard deviation of a (time) series of values. Example: Computing the average time customers spent on a system
- Accumulates: An Accumulate records the mean and standard deviation of a time series of values against different time intervals. Example: System load

See also: Prometheus Metrics Type

## Implementation

- Statistical Data Collectors (desmoj.core.statistic package)