Statsd is supported, but new metrics producers are encouraged to use Prometheus instead.
statsd is a metrics aggregation server. We use it to aggregate metrics for Graphite. It flushes data points to Graphite at an interval of 60 seconds (the highest resolution supported by our Graphite configuration), otherwise only the last data point in a given minute would be stored. Statsd also adds various properties to the data such as
.p95, etc. More about that at Graphite#Extended properties.
Wikimedia currently uses the
statsite implementation (package, website), written is a C program that is wire-compatible with Etsy's original Statsd (written in Node.js).
Several statsite deamons are hosted on the main Graphite servers, with a local load-balancer in front of them (statsd-proxy). You should access it through the canonical hostname "
Use of Statsd was first deployed in 2015 using wikimedia/statsdlb, a StatsD-compatible load-balancer written in C by Ori Livneh. This ran in front of armon/statsite, a C implementation of statsd.
In 2016, the wikimedia/statsdlb service was replaced by hit9/statsd-proxy for performance reasons (T126447).
Use in Cloud Services environment
The hosts cloudmetrics1001 and cloudmetrics1002 have Statsd running, listening for UDP traffic on port 8125. There is no service name for it (see phab:T241284).
Metrics can be sent to Statsd in Bash using
echo -n "foo.bar.baz:23|c" | nc -w 1 -u cloudmetrics1001.eqiad.wmnet 8125
- statsite documentation
- etsy/statsd documentation (more elaborate)
- Metric types