StatsD
StatsD is a free, open-source network daemon for receiving application metrics, aggregating them, and forwarding results to backend services.
What StatsD is
StatsD is a free, open-source network daemon for receiving application metrics, aggregating them, and forwarding results to backend services. It accepts metric lines over UDP or TCP, with each line containing a name, value, and type. Supported types include counters, timers, gauges, and sets. StatsD aggregates incoming data and sends it upstream at a configured flush interval, which defaults to 10 seconds. For timers, it calculates percentiles, mean, standard deviation, sum, and lower and upper bounds; selected metrics can also use configurable histograms, which are off by default. Graphite, Console, and Repeater are built-in backends, and multiple backends can run simultaneously. The project also lists third-party options such as AWS CloudWatch, Datadog, Elasticsearch, InfluxDB, and MongoDB. Server and backend modules can be added as npm modules, though only one server module can run at a time. StatsD is intended for self-hosted Linux setups, with installation documented through Docker or manually with Node.js. The repository identifies its license as MIT.
Good
- Accepts metrics over UDP or TCP.
- Supports counters, timers, gauges, and sets.
- Multiple built-in backends can run at once.
- Timer histograms can be configured for selected metrics.
- Free and MIT-licensed.
Watch out
- Only one server module can run at once.
- Timer histograms are disabled by default.
- No commercial support offering is stated.
Who it suits
StatsD suits teams that want to collect and aggregate application metrics in a self-hosted Linux setup. It is a fit for users who can configure its input protocol and backend services.
Verdict
StatsD provides a configurable path from metric lines to one or more backend services. Its self-hosted setup and single-server-module constraint are worth considering before choosing it.
Plans and prices
From StatsD's own pricing page, checked 11 Oct 2026.
| Plan | Price | What it gives you |
|---|---|---|
| Open source | Free | Self-hosted Node.js daemon; no commercial plan or service limits stated |
The facts
Each one read from StatsD's own pages, with the date it was checked.
What it does
- Aggregation interval
- Metrics are aggregated and sent upstream after the configured flush interval, which defaults to 10 seconds.checked 4 Oct 2026
- Backend flexibility
- Backend modules are npm modules implementing the documented interface, so additional backends can be loaded through configuration.checked 11 Oct 2026
- Backends
- Built-in backends include Graphite, Console, and Repeater; multiple backends can run at once.checked 11 Oct 2026
- Built-in backends
- Built-in backends include Graphite, Console, and Repeater, and multiple backends can run at once.checked 4 Oct 2026
- Deployment
- The project documents Docker images and manual installation, which requires Node.js; current and LTS Node.js versions are supported.checked 11 Oct 2026
- Extensibility
- StatsD supports pluggable server modules and backend modules implemented as npm modules.checked 4 Oct 2026
- Flush interval
- Stats are aggregated and sent upstream at the configured flush interval, which defaults to 10 seconds.checked 11 Oct 2026
- Histograms
- Histogram collection is configurable by metric and bin boundaries, and is disabled by default for timers.checked 11 Oct 2026
- Integrations
- The project lists third-party backend plugins for services including AWS CloudWatch, Datadog, InfluxDB, Elasticsearch, OpenTSDB, and Zabbix.checked 11 Oct 2026
- License
- The repository identifies its license as MIT.checked 4 Oct 2026
- Metric input
- It accepts metrics over UDP or TCP using a line protocol in the form metric name, value, and type.checked 11 Oct 2026
- Metric types
- Supported metric types include counters, timers, gauges, and sets.checked 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.checked 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.checked 11 Oct 2026
- Origin
- The project README says StatsD was originally written at Etsy.checked 4 Oct 2026
- Protocol
- It accepts metrics over UDP or TCP using a line protocol formatted as metric name, value, and type.checked 4 Oct 2026
- Purpose
- StatsD is a network daemon that aggregates statistics such as counters and timers and sends aggregates to pluggable backend services.checked 11 Oct 2026
- Runtime support
- The project README says all Current and LTS Node.js versions are supported.checked 4 Oct 2026
- Security and compliance
- The repository’s security page does not provide product security or compliance details in the opened page.checked 11 Oct 2026
- Server constraint
- Only one server module can run at once; UDP is loaded by default.checked 4 Oct 2026
- Support
- The repository provides project documentation and contribution guidance; it does not state a commercial support offering.checked 11 Oct 2026
- Timer analysis
- For timers, StatsD calculates percentiles, average, standard deviation, sum, and lower and upper bounds for each flush interval.checked 4 Oct 2026
- Timer calculations
- For timers, StatsD calculates percentiles, mean, standard deviation, sum, and lower and upper bounds for the flush interval.checked 11 Oct 2026
The company
- Founded
- 2011checked 28 Sep 2026


