Labeled Metrics¶
Note
Labeled metrics are still an experimental feature. This document contains forward looking statements that anticipate future development of labeled metrics support. In particular, metric names and labels may be subject to change as we explore the space.
Warning
Enabling labeled metrics will likely cause a dramatic increase in the number of distinct metrics time series. Ensure your metrics pipeline is prepared.
Recent versions of Swift emit StatsD metrics with explicit application-defined labels, rather than relying on consumers knowing how to unpack the legacy label names. A variety of StatsD extension formats are available, many of which are parsed by statsd_exporter:
librato
influxdb
dogstatsd
graphite
See the proxy-server.conf-sample
file for more information on configuring
labeled metrics.
Labeled metrics are emitted in addition to legacy StatsD metrics. However,
legacy StatsD metrics can be disabled by setting the statsd_emit_legacy
option to False
. This is not recommended until more legacy metrics have
been supplemented with equivalent labeled metrics.
As various Swift middlewares, services and daemons are upgraded to emit labeled metrics, they will be documented in the relevant section of the All Statsd Metrics page.
Common Labels¶
Each labeled metric may have its own unique labels, but many labeled metrics will use some or all of a common set of labels. The common labels are documented here for information purposes, but the authoritative set of labels for each metric can be found in the sections of the All Statsd Metrics page.
Label Name |
Value |
|
The type of resource associated with the metric
i.e. |
|
The quoted account name associated with the metric. |
|
The quoted container name associated with the metric. |
|
The storage policy index associated with the metric. |
|
The status int of an HTTP response associated with the metric. |
|
The method of an HTTP request associated with the metric. |
Note
Note that metrics will not have labels that would likely have a very high
cardinality of values, such as object names, as this is expected to be
problematic for metrics collectors. Nevertheless, some operators may still
need to drop labels such as container
in order to keep metric
cardinalities reasonable.