Home
StatsD
StatsD
StatsD is the network daemon and UDP-based line protocol for application metrics, originally written at Etsy and now maintained at github.com/statsd/statsd. A StatsD client emits short text packets — counters, gauges, timers, histograms, sets, and meters — to a daemon that aggregates them in memory and flushes derived series to a backend such as Graphite, InfluxDB, Datadog, CloudWatch, or any of 30+ third-party sinks. The wire format is the canonical contract; dozens of language clients and several alternative servers (DogStatsD, Telegraf, gostatsd, brubeck, statsite, Veneur, bioyino) speak it with small, well-documented dialect extensions for tags, histograms, events, and service checks.
3 APIs
1 Capabilities
0 Features
Aggregation Daemon DogStatsD Line Protocol Metrics Observability Open Source StatsD TCP UDP Wire Protocol
StatsD publishes 3 APIs on the APIs.io network: Wire Protocol, Admin Interface, and DogStatsD Wire Protocol. Tagged areas include Aggregation, Daemon, DogStatsD, Line Protocol, and Metrics.
The StatsD catalog on APIs.io includes 1 machine-runnable capability , 2 event-driven AsyncAPI specifications, 1 JSON-LD context, and 1 Spectral governance ruleset.
StatsD’s developer surface includes GitHub presence, changelog, SDKs, and 47 more developer resources.
The StatsD wire protocol is a UTF-8, line-oriented, UDP-by-default packet format used to push application metrics from clients to a StatsD daemon. Each line takes the form `buck...
The StatsD admin/management interface is a plain-text TCP service exposed on port 8126 (default), used to inspect daemon state and clear in-memory aggregates. Supported commands...
DogStatsD is the Datadog Agent's StatsD-compatible ingestion protocol. It is a strict superset of the StatsD wire format that adds first-class tag syntax (`|#k:v,k:v`), histogra...
Run Capabilities with Naftiko — Deploy and orchestrate these API capabilities using Naftiko Fleet.
Run with Naftiko
StatsD Admin Interface — Naftiko capability covering the daemon's plain-text management TCP interface (default port 8126). Inspect counters, gauges, and timers, dump configurati...
Run with Naftiko
Run Capabilities with Naftiko — Deploy and orchestrate these API capabilities using Naftiko Fleet.
Run with Naftiko
The DogStatsD wire protocol — Datadog's StatsD-compatible ingestion format. A strict superset of vanilla StatsD that adds first-class tag syntax (`|#k:v,k:v`), histogram (`|h`) ...
ASYNCAPI
The StatsD wire protocol: a UTF-8, line-oriented, UDP-by-default text format used by application code to push metrics to a StatsD daemon for in-memory aggregation. Each datagram...
ASYNCAPI
0 classes · 8 properties
JSON-LD
7 rules ·
1 errors
4 warnings
2 info
SPECTRAL
Sources
aid: statsd
name: StatsD
description: >-
StatsD is the network daemon and UDP-based line protocol for application
metrics, originally written at Etsy and now maintained at github.com/statsd/statsd.
A StatsD client emits short text packets — counters, gauges, timers,
histograms, sets, and meters — to a daemon that aggregates them in memory and
flushes derived series to a backend such as Graphite, InfluxDB, Datadog,
CloudWatch, or any of 30+ third-party sinks. The wire format is the canonical
contract; dozens of language clients and several alternative servers
(DogStatsD, Telegraf, gostatsd, brubeck, statsite, Veneur, bioyino) speak it
with small, well-documented dialect extensions for tags, histograms, events,
and service checks.
type: Index
image: https://kinlane-productions.s3.amazonaws.com/apis-json/apis-json-logo.jpg
tags:
- Aggregation
- Daemon
- DogStatsD
- Line Protocol
- Metrics
- Observability
- Open Source
- StatsD
- TCP
- UDP
- Wire Protocol
url: https://raw.githubusercontent.com/api-evangelist/statsd/refs/heads/main/apis.yml
created: '2024-01-01'
modified: '2026-05-23'
specificationVersion: '0.19'
apis:
- aid: statsd:statsd-wire-protocol
name: StatsD Wire Protocol
description: >-
The StatsD wire protocol is a UTF-8, line-oriented, UDP-by-default packet
format used to push application metrics from clients to a StatsD daemon.
Each line takes the form `bucket:value|type[|@sample_rate]`, where `type`
is one of `c` (counter), `g` (gauge, with optional `+`/`-` for delta), `ms`
(timer), `h` (histogram), `s` (set), or `m` (meter, in some dialects).
Multiple metrics may share a packet when separated by `\n`. The protocol
is connectionless on UDP (port 8125) and connection-oriented on TCP, where
each metric MUST be terminated by `\n`. The wire format is the canonical
contract between StatsD, its tag-aware dialects (DogStatsD, InfluxDB,
SignalFx), and the wider ecosystem of clients and servers.
humanURL: https://github.com/statsd/statsd/blob/master/docs/metric_types.md
tags:
- Counters
- Gauges
- Histograms
- Line Protocol
- Meters
- Metrics
- Sets
- Timers
- UDP
- Wire Protocol
properties:
- type: Documentation
url: https://github.com/statsd/statsd/blob/master/docs/metric_types.md
- type: ProtocolSpec
url: https://github.com/b/statsd_spec
- type: GitHubRepository
url: https://github.com/statsd/statsd
- type: AsyncAPI
url: asyncapi/statsd-wire-protocol-asyncapi.yml
- type: JSONSchema
url: json-schema/statsd-metric-line-schema.json
- type: JSONSchema
url: json-schema/statsd-metric-instance-schema.json
- type: JSONStructure
url: json-structure/statsd-metric-instance-structure.json
- type: JSONLD
url: json-ld/statsd-context.jsonld
- type: Vocabulary
url: vocabulary/statsd-vocabulary.yml
- aid: statsd:statsd-admin-interface
name: StatsD Admin Interface
description: >-
The StatsD admin/management interface is a plain-text TCP service exposed
on port 8126 (default), used to inspect daemon state and clear in-memory
aggregates. Supported commands are `stats`, `counters`, `gauges`, `timers`,
`delcounters`, `delgauges`, `deltimers`, `health [up|down]`, `config`, and
`quit`. Each command is line-terminated; the daemon responds with one or
more lines of plain text and the command name as a terminator (`END`).
Wildcards (`*`) are supported on the delete commands. The interface is
intended for telnet/netcat-style operator use and for tooling that wants to
snapshot counters or toggle health checks.
humanURL: https://github.com/statsd/statsd/blob/master/docs/admin_interface.md
tags:
- Admin
- Health Check
- Management
- Operator
- TCP
properties:
- type: Documentation
url: https://github.com/statsd/statsd/blob/master/docs/admin_interface.md
- type: OpenAPI
url: openapi/statsd-admin-interface-openapi.yml
- type: NaftikoCapability
url: capabilities/statsd-admin.yaml
- type: Spectral
url: rules/statsd-admin-interface-rules.yml
- type: Examples
url: examples/statsd-admin-stats-example.json
- aid: statsd:dogstatsd-wire-protocol
name: DogStatsD Wire Protocol
description: >-
DogStatsD is the Datadog Agent's StatsD-compatible ingestion protocol. It
is a strict superset of the StatsD wire format that adds first-class tag
syntax (`|#k:v,k:v`), histogram (`|h`) and distribution (`|d`) metric
types, events (`_e{title.len,text.len}:title|text|...`), service checks
(`_sc|name|status|...`), and Unix Domain Socket transport in addition to
UDP/8125. Wide adoption beyond Datadog itself — Stripe Veneur, Atlassian
gostatsd, Telegraf, and Shopify's statsd-instrument all speak DogStatsD —
has made it the de facto modern dialect of the StatsD line protocol.
humanURL: https://github.com/statsd/statsd/blob/master/docs/metric_types.md
tags:
- Datadog
- Distributions
- DogStatsD
- Events
- Histograms
- Service Checks
- Tags
- Unix Domain Socket
- Wire Protocol
properties:
- type: Documentation
url: https://github.com/statsd/statsd/blob/master/docs/metric_types.md
- type: AsyncAPI
url: asyncapi/dogstatsd-wire-protocol-asyncapi.yml
- type: JSONSchema
url: json-schema/dogstatsd-event-schema.json
- type: JSONSchema
url: json-schema/dogstatsd-service-check-schema.json
- type: Examples
url: examples/dogstatsd-tagged-counter-example.json
- type: Examples
url: examples/dogstatsd-distribution-example.json
- type: Examples
url: examples/dogstatsd-event-example.json
- type: Examples
url: examples/dogstatsd-service-check-example.json
common:
- type: GitHub
url: https://github.com/statsd/statsd
- type: License
url: https://github.com/statsd/statsd/blob/master/LICENSE
- type: ChangeLog
url: https://github.com/statsd/statsd/blob/master/CHANGELOG.md
- type: ContributorGuide
url: https://github.com/statsd/statsd/blob/master/CONTRIBUTING.md
- type: Wiki
url: https://github.com/statsd/statsd/wiki
- type: ProtocolSpec
url: https://github.com/b/statsd_spec
- type: PackageRegistry
url: https://www.npmjs.com/package/statsd
- type: Issues
url: https://github.com/statsd/statsd/issues
- type: SDK
name: node-statsd-client (Node.js)
url: https://github.com/msiebuhr/node-statsd-client
- type: SDK
name: pystatsd (Python)
url: https://github.com/jsocol/pystatsd
- type: SDK
name: Py-Statsd (Python)
url: https://github.com/sivy/py-statsd
- type: SDK
name: python-statsd (Python)
url: https://github.com/WoLpH/python-statsd
- type: SDK
name: Django-Statsd (Python)
url: https://github.com/WoLpH/django-statsd
- type: SDK
name: statsd-instrument (Ruby, Shopify)
url: https://github.com/Shopify/statsd-instrument
- type: SDK
name: reinh/statsd (Ruby)
url: https://github.com/reinh/statsd
- type: SDK
name: java-statsd-client (Java)
url: https://github.com/youdevise/java-statsd-client
- type: SDK
name: statsd-netty (Java)
url: https://github.com/flozano/statsd-netty
- type: SDK
name: go-statsd (Go)
url: https://github.com/smira/go-statsd
- type: SDK
name: go-statsd-client (Go)
url: https://github.com/cactus/go-statsd-client
- type: SDK
name: quipo/statsd (Go)
url: https://github.com/quipo/statsd
- type: SDK
name: thephpleague/statsd (PHP)
url: https://github.com/thephpleague/statsd
- type: SDK
name: statsd-php (PHP)
url: https://github.com/domnikl/statsd-php
- type: SDK
name: JustEat.StatsD (.NET)
url: https://github.com/justeat/JustEat.StatsD
- type: SDK
name: graphite-client (.NET)
url: https://github.com/peschuster/graphite-client
- type: SDK
name: Net::Statsd (Perl)
url: https://github.com/cosimo/perl5-net-statsd
- type: SDK
name: Etsy::StatsD (Perl)
url: https://github.com/sanbeg/Etsy-Statsd
- type: SDK
name: Metrics::Any::Adapter::Statsd (Perl)
url: https://metacpan.org/pod/Metrics::Any::Adapter::Statsd
- type: SDK
name: datadogpy (Python — DogStatsD)
url: https://github.com/DataDog/datadogpy
- type: AlternativeServer
name: DogStatsD (Datadog Agent — Go)
url: https://docs.datadoghq.com/developers/dogstatsd/
- type: AlternativeServer
name: Telegraf StatsD input plugin (Go)
url: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/statsd
- type: AlternativeServer
name: Stripe Veneur (Go — archived 2025-04)
url: https://github.com/stripe/veneur
- type: AlternativeServer
name: Atlassian gostatsd (Go)
url: https://github.com/atlassian/gostatsd
- type: AlternativeServer
name: GitHub brubeck (C)
url: https://github.com/github/brubeck
- type: AlternativeServer
name: statsite (C)
url: https://github.com/armon/statsite
- type: AlternativeServer
name: statsd-c (C)
url: https://github.com/jbuchbinder/statsd-c
- type: AlternativeServer
name: statsdcc (C++ — Wayfair)
url: https://github.com/wayfair/statsdcc
- type: AlternativeServer
name: bioyino (Rust — Avito)
url: https://github.com/avito-tech/bioyino
- type: AlternativeServer
name: bitly statsdaemon (Go)
url: https://github.com/bitly/statsdaemon
- type: AlternativeServer
name: vimeo statsdaemon (Go)
url: https://github.com/vimeo/statsdaemon
- type: AlternativeServer
name: gographite (Go)
url: https://github.com/amir/gographite
- type: AlternativeServer
name: netdata (C)
url: https://github.com/netdata/netdata
- type: Backend
name: Graphite (bundled)
url: https://github.com/statsd/statsd/blob/master/docs/graphite.md
- type: Backend
name: Console (bundled)
url: https://github.com/statsd/statsd/blob/master/docs/backend.md
- type: Backend
name: Repeater (bundled)
url: https://github.com/statsd/statsd/blob/master/docs/backend.md
- type: Backend
name: AWS CloudWatch
url: https://github.com/camitz/aws-cloudwatch-statsd-backend
- type: Backend
name: InfluxDB
url: https://github.com/bernd/statsd-influxdb-backend
- type: Backend
name: Datadog
url: https://github.com/DataDog/statsd-datadog-backend
- type: Backend
name: OpenTSDB
url: https://github.com/emurphy/statsd-opentsdb-backend
- type: Backend
name: Stackdriver
url: https://github.com/jjneely/statsd-stackdriver-backend
- type: Backend
name: Elasticsearch
url: https://github.com/markkimsal/statsd-elasticsearch-backend
- type: Integrations
name: Graphite
url: https://graphiteapp.org/
- type: Integrations
name: Datadog
url: https://www.datadoghq.com/
- type: Integrations
name: InfluxDB
url: https://www.influxdata.com/
- type: Integrations
name: CloudWatch
url: https://aws.amazon.com/cloudwatch/
- type: Integrations
name: SignalFx
url: https://www.splunk.com/en_us/products/observability.html