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:

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>