NAME
Metrics::Any::Adapter::Statsd
- a metrics reporting adapter for statsd
SYNOPSIS
use Metrics::Any::Adapter 'Statsd';
DESCRIPTION
This Metrics::Any adapter type reports metrics to statsd via the local UDP socket. Each metric value reported will result in a new UDP packet being sent.
The location of the statsd server is set by two package variables, defaulting to
$Net::Statsd::HOST = "127.0.0.1";
$Net::Statsd::PORT = 8125
The configuration can be changed by setting new values.
METRIC HANDLING
Unlabelled counter, gauge and timing metrics are handled natively as you would expect for statsd; with multipart names being joined by periods (.
).
Distribution metrics are emitted as two sub-named metrics by appending count
and sum
. The count
metric in incremented by one for each observation and the sum
by the observed amount.
Labels are not handled by this adapter and are thrown away. This will result in a single value being reported that accumulates the sum total across all of the label values. In the case of labelled gauges using the set_gauge_to
method this will not be a useful value.
For better handling of labelled metrics for certain services which have extended the basic statsd format to handle them, see:
Metrics::Any::Adapter::DogStatsd - a metrics reporting adapter for DogStatsd
Metrics::Any::Adapter::SignalFx - a metrics reporting adapter for SignalFx
TODO
Support non-one samplerates; emit only one-in-N packets with the
@rate
notation in the packet.Optionally support one dimension of labelling by appending the conventional
some.metric.by_$label.$value
notation to it.
AUTHOR
Paul Evans <leonerd@leonerd.org.uk>