StatsD logo

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 0 Features
AggregationDaemonDogStatsDLine ProtocolMetricsObservabilityOpen SourceStatsDTCPUDPWire Protocol

APIs

StatsD Wire Protocol

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...

StatsD Admin Interface

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 Wire Protocol

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...

Event Specifications

DogStatsD Wire Protocol

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

StatsD Wire Protocol

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

Semantic Vocabularies

Statsd Context

0 classes · 8 properties

JSON-LD

API Governance Rules

StatsD API Rules

7 rules · 1 errors 4 warnings 2 info

SPECTRAL

Resources

👥
GitHub
GitHub
🔗
License
License
📄
ChangeLog
ChangeLog
🔗
ContributorGuide
ContributorGuide
🔗
Wiki
Wiki
🔗
ProtocolSpec
ProtocolSpec
🔗
PackageRegistry
PackageRegistry
🔗
Issues
Issues
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
📦
SDK
SDK
🔗
AlternativeServer
AlternativeServer
🔗
AlternativeServer
AlternativeServer
🔗
AlternativeServer
AlternativeServer
🔗
AlternativeServer
AlternativeServer
🔗
AlternativeServer
AlternativeServer
🔗
AlternativeServer
AlternativeServer
🔗
AlternativeServer
AlternativeServer
🔗
AlternativeServer
AlternativeServer
🔗
AlternativeServer
AlternativeServer
🔗
AlternativeServer
AlternativeServer
🔗
AlternativeServer
AlternativeServer
🔗
AlternativeServer
AlternativeServer
🔗
AlternativeServer
AlternativeServer
🔗
Backend
Backend
🔗
Backend
Backend
🔗
Backend
Backend
🔗
Backend
Backend
🔗
Backend
Backend
🔗
Backend
Backend
🔗
Backend
Backend
🔗
Backend
Backend
🔗
Backend
Backend

Sources

Raw ↑
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-images.s3.amazonaws.com/shared/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: 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