An asyncio-based client for sending metrics to StatsD with support of DogStatsD extension

asyncio, statsd, statsd-client, statsd-metrics, dogstatsd, aiohttp, aiohttp-middleware, monitoring, python, sanic, sanic-middleware, starlette, starlette-middleware
pip install aiodogstatsd==0.16.0.post0



Build Status codecov PyPI PyPI - Downloads GitHub

An asyncio-based client for sending metrics to StatsD with support of DogStatsD extension.

Library fully tested with statsd_exporter and supports gauge, counter, histogram, distribution and timing types.

aiodogstatsd client by default uses 9125 port. It's a default port for statsd_exporter and it's different from 8125 which is used by default in StatsD and DataDog. Initialize the client with the proper port you need if it's different from 9125.


Just type:

$ pip install aiodogstatsd

At a glance

Just simply use client as a context manager and send any metric you want:

import asyncio

import aiodogstatsd

async def main():
    async with aiodogstatsd.Client() as client:

Please follow documentation or look at examples/ directory to find more examples of library usage, e.g. integration with AIOHTTP or Starlette frameworks.


To work on the aiodogstatsd codebase, you'll want to clone the project locally and install the required dependencies via poetry:

$ git clone
$ make install

To run tests and linters use command below:

$ make lint && make test

If you want to run only tests or linters you can explicitly specify which test environment you want to run, e.g.:

$ make lint-black


aiodogstatsd is licensed under the MIT license. See the license file for details.