StatsD
What StatsD is
StatsD is a self-hosted network daemon for collecting metrics and sending aggregated results to backend services. It accepts metric data over UDP or TCP in a line format containing a metric name, value, and type. Supported types include counters, timers, gauges, and sets. Metrics are grouped and forwarded after 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. You can enable timer histograms for selected metrics and define ordered bin limits; they are disabled by default.
Graphite, Console, and Repeater are included as backends, and several can run at once. The project also lists third-party backends for AWS CloudWatch, Datadog, Elasticsearch, InfluxDB, and MongoDB. Backend and server modules can be implemented as npm modules, although only one server module can run at a time; UDP is loaded by default. A TCP management interface is available by default on port 8126, exposing health, configuration, server statistics, counters, gauges, and timers. StatsD runs on Linux and supports Current and LTS Node.js versions. The project documents Docker and manual Node.js installation. It is open source under the MIT license and was originally written at Etsy.
Who it suits
StatsD suits teams that want to collect counters, timers, gauges, and sets in a self-hosted Linux environment and forward aggregates to backend services. It is also suited to deployments that need multiple backends or configurable server and backend modules.
What it does well
- Accepts metrics over UDP or TCP.
- Handles counters, timers, gauges, and sets.
- Defaults to a 10-second aggregation interval.
- Can run multiple built-in backends at once.
- Offers a TCP management interface on port 8126.
- Supports Docker and manual Node.js installation.
What to know first
- Only one server module can run at a time.
- Timer histograms are disabled by default.
- Multi-metric packet payloads should stay within the network MTU.
Limits
The open-source plan is a self-hosted Node.js daemon, with no commercial plan or service limits stated. Only one server module can run at a time, and multi-metric packet payloads should stay within the network MTU.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Open source | Self-hosted Node.js daemon; no commercial plan or service limits stated | Free |
As github.com lists them, read 11 Oct 2026. The maker's own page has the final word.
Getting started
- Open the StatsD project website on GitHub.
- Choose a Docker installation using a documented image or the bundled Dockerfile, or install manually with Node.js.
- Configure a server module; UDP is loaded by default.
- Send metrics over UDP or TCP using the metric name, value, and type line format.
- Configure the flush interval and backend modules for your deployment.
Verdict
Choose StatsD if you need an open-source daemon to aggregate metrics on a self-hosted Linux system and send them to one or more backends. Look elsewhere if you need multiple server modules running simultaneously or a stated commercial support offering.
Questions
How much does StatsD cost?
The Open source plan is free. It is a self-hosted Node.js daemon.
Is there a free plan or trial?
StatsD is free and open source, with a free plan. There is no free trial.
What platforms does it support?
StatsD is listed for Linux and self-hosted use. The project README says all Current and LTS Node.js versions are supported.
Is StatsD open source?
Yes. The repository identifies its license as MIT.
Which backends are available?
Built-in backends include Graphite, Console, and Repeater. The project also lists third-party backends including AWS CloudWatch, Datadog, Elasticsearch, InfluxDB, and MongoDB.
Who originally wrote StatsD?
The project README says StatsD was originally written at Etsy.
Facts from StatsD's own pages
- Aggregation interval
- Metrics are aggregated and sent upstream after the configured flush interval, which defaults to 10 seconds. · github.com, 4 Oct 2026
- Backend flexibility
- Backend modules are npm modules implementing the documented interface, so additional backends can be loaded through configuration. · github.com, 11 Oct 2026
- Backends
- Built-in backends include Graphite, Console, and Repeater; multiple backends can run at once. · github.com, 11 Oct 2026
- Built-in backends
- Built-in backends include Graphite, Console, and Repeater, and multiple backends can run at once. · github.com, 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, 11 Oct 2026
- Extensibility
- StatsD supports pluggable server modules and backend modules implemented as npm modules. · github.com, 4 Oct 2026
- Flush interval
- Stats are aggregated and sent upstream at the configured flush interval, which defaults to 10 seconds. · github.com, 11 Oct 2026
- Founded
- 2011 · github.com, 28 Sept 2026
- Histograms
- Histogram collection is configurable by metric and bin boundaries, and is disabled by default for timers. · github.com, 11 Oct 2026
- Integrations
- The project lists third-party backend plugins for services including AWS CloudWatch, Datadog, InfluxDB, Elasticsearch, OpenTSDB, and Zabbix. · github.com, 11 Oct 2026
- License
- The repository identifies its license as MIT. · github.com, 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, 11 Oct 2026
- Metric types
- Supported metric types include counters, timers, gauges, and sets. · github.com, 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, 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, 11 Oct 2026
- Origin
- The project README says StatsD was originally written at Etsy. · github.com, 4 Oct 2026
- Protocol
- It accepts metrics over UDP or TCP using a line protocol formatted as metric name, value, and type. · github.com, 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, 11 Oct 2026
- Runtime support
- The project README says all Current and LTS Node.js versions are supported. · github.com, 4 Oct 2026
- Security and compliance
- The repository’s security page does not provide product security or compliance details in the opened page. · github.com, 11 Oct 2026
- Server constraint
- Only one server module can run at once; UDP is loaded by default. · github.com, 4 Oct 2026
- Support
- The repository provides project documentation and contribution guidance; it does not state a commercial support offering. · github.com, 11 Oct 2026
- Timer analysis
- For timers, StatsD calculates percentiles, average, standard deviation, sum, and lower and upper bounds for each flush interval. · github.com, 4 Oct 2026
- Timer calculations
- For timers, StatsD calculates percentiles, mean, standard deviation, sum, and lower and upper bounds for the flush interval. · github.com, 11 Oct 2026
Where StatsD stands on Freedom251
- Menu Bar Apps#10 of 23
- Metrics Monitoring Tools#26 of 37