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 aiodogstatsdJust 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:
client.increment("users.online")
asyncio.run(main())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 [email protected]:Gr1N/aiodogstatsd.git
$ make installTo run tests and linters use command below:
$ make lint && make testIf you want to run only tests or linters you can explicitly specify which test environment you want to run, e.g.:
$ make lint-blackaiodogstatsd is licensed under the MIT license. See the license file for details.