- Home
- Menu Bar Apps
- StatsD
StatsD
What it is
StatsD is a free, open-source network daemon that receives application metrics and sends aggregates to backend services. It accepts lines over UDP or TCP, with each line specifying a metric name, value, and type. Supported types include counters, timers, gauges, and sets. Metrics are aggregated and sent upstream at a configured flush interval, which defaults to 10 seconds. For timers, StatsD calculates percentiles, mean, standard deviation, sum, and lower and upper bounds for each interval. Histograms can be configured for selected timer metrics and ordered bin limits, but are off by default. Built-in backends include Graphite, Console, and Repeater, and multiple backends can run together. The project also lists third-party backends such as AWS CloudWatch, Datadog, Elasticsearch, InfluxDB, and MongoDB. Server and backend modules can be implemented as npm modules, though only one server module can run at a time. StatsD is for self-hosted Linux use; installation options include Docker and Node.js. The repository identifies its license as MIT.
For and against
For
- Accepts metrics over UDP or TCP.
- Supports counters, timers, gauges, and sets.
- Multiple built-in backends can run at once.
- Third-party backends include AWS CloudWatch and Datadog.
- Free and open source under the MIT license.
Against
- Only one server module can run at a time.
- Timer histograms are disabled by default.
- No commercial support offering is stated.
The verdict
StatsD provides a configurable path from metric input to aggregated backend data, with timer calculations and multiple backend options. Its self-hosted setup and single-server-module limit are important considerations for deployment.
Who it suits
StatsD suits teams that want to collect and aggregate metrics in a self-hosted Linux environment and forward them to configurable backends. It is aimed at users able to manage its deployment and module configuration.
Plans and prices
Open source
Self-hosted Node.js daemon; no commercial plan or service limits stated
Read 11 Oct 2026 · github.com
On the record
- Aggregation interval
- Metrics are aggregated and sent upstream after the configured flush interval, which defaults to 10 seconds.github.com · read 4 Oct 2026
- Backend flexibility
- Backend modules are npm modules implementing the documented interface, so additional backends can be loaded through configuration.github.com · read 11 Oct 2026
- Backends
- Built-in backends include Graphite, Console, and Repeater; multiple backends can run at once.github.com · read 11 Oct 2026
- Built-in backends
- Built-in backends include Graphite, Console, and Repeater, and multiple backends can run at once.github.com · read 4 Oct 2026
- Deployment
- The project documents Docker images and manual installation, which requires Node.js; current and LTS Node.js versions are supported.github.com · read 11 Oct 2026
- Extensibility
- StatsD supports pluggable server modules and backend modules implemented as npm modules.github.com · read 4 Oct 2026
- Flush interval
- Stats are aggregated and sent upstream at the configured flush interval, which defaults to 10 seconds.github.com · read 11 Oct 2026
- Histograms
- Histogram collection is configurable by metric and bin boundaries, and is disabled by default for timers.github.com · read 11 Oct 2026
- Integrations
- The project lists third-party backend plugins for services including AWS CloudWatch, Datadog, InfluxDB, Elasticsearch, OpenTSDB, and Zabbix.github.com · read 11 Oct 2026
- License
- The repository identifies its license as MIT.github.com · read 4 Oct 2026
- Metric input
- It accepts metrics over UDP or TCP using a line protocol in the form metric name, value, and type.github.com · read 11 Oct 2026
- Metric types
- Supported metric types include counters, timers, gauges, and sets.github.com · read 11 Oct 2026
- Monitoring
- A TCP management interface is available by default on port 8126 and exposes health, configuration, server statistics, counters, gauges, and timers.github.com · read 11 Oct 2026
- Networking limit
- Only one server module can run at a time, and multi-metric packet payloads should stay within the network MTU.github.com · read 11 Oct 2026
- Origin
- The project README says StatsD was originally written at Etsy.github.com · read 4 Oct 2026
- Protocol
- It accepts metrics over UDP or TCP using a line protocol formatted as metric name, value, and type.github.com · read 4 Oct 2026
- Purpose
- StatsD is a network daemon that aggregates statistics such as counters and timers and sends aggregates to pluggable backend services.github.com · read 11 Oct 2026
- Runtime support
- The project README says all Current and LTS Node.js versions are supported.github.com · read 4 Oct 2026