StatsD Counters API

Inspect Or Delete Counters

OpenAPI Specification

statsd-counters-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: StatsD Admin Interface Configuration Counters API
  version: 1.0.0
  description: OpenAPI projection of the StatsD admin/management interface. The native transport is a line-oriented plain-text protocol over TCP/8126 (default), not HTTP — but every supported command (`stats`, `counters`, `gauges`, `timers`, `delcounters`, `delgauges`, `deltimers`, `health [up|down]`, `config`, `quit`) is a self-contained request/response interaction with well-defined inputs and outputs and is therefore modeled here as a virtual `GET`/`POST` resource so that tools that consume OpenAPI (Spectral, MCP adapters, client generators) can reason about the surface.
  contact:
    name: StatsD Maintainers
    url: https://github.com/statsd/statsd
  license:
    name: MIT
    url: https://github.com/statsd/statsd/blob/master/LICENSE
servers:
- url: tcp://{host}:{port}
  description: Native admin TCP interface
  variables:
    host:
      default: 127.0.0.1
      description: Address of the StatsD daemon
    port:
      default: '8126'
      description: Default admin port (`mgmt_port`)
tags:
- name: Counters
  description: Inspect Or Delete Counters
paths:
  /counters:
    get:
      summary: List All Counters
      description: Dump the current value of every in-memory counter as a JSON-like object literal.
      operationId: listCounters
      tags:
      - Counters
      responses:
        '200':
          description: Current Counter Snapshot.
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/CounterMap'
  /delcounters:
    post:
      summary: Delete Counters
      description: Delete one or more counters by name. Wildcards are supported (e.g., `sandbox.test.*`).
      operationId: deleteCounters
      tags:
      - Counters
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeletePatterns'
      responses:
        '200':
          description: Deletion Acknowledgement.
          content:
            text/plain:
              schema:
                type: string
                example: 'deleted: sandbox.test.foo'
components:
  schemas:
    CounterMap:
      type: object
      description: Map of counter bucket name to current integer value since last flush.
      additionalProperties:
        type: number
      example:
        statsd.bad_lines_seen: 0
        statsd.packets_received: 1234
        app.requests.completed: 87
    DeletePatterns:
      type: object
      description: One or more bucket name patterns (wildcards permitted) to delete.
      required:
      - patterns
      properties:
        patterns:
          type: array
          items:
            type: string
          minItems: 1
          example:
          - sandbox.test.*