Skip to content

An asyncio-based client for sending metrics to Telegraf

License

Notifications You must be signed in to change notification settings

Gr1N/aiotelegraf

Repository files navigation

aiotelegraf

Build Status codecov PyPI PyPI - Downloads GitHub

An asyncio-base client for sending metrics to Telegraf.

Implementation based on pytelegraf package.

Installation

$ pip install aiotelegraf

Usage

import asyncio
import aiotelegraf


async def main():
    client = aiotelegraf.Client(
        host='0.0.0.0',
        port=8089,
        tags={
            'my_global_tag_1': 'value_1',
            'my_global_tag_2': 'value_2',
        }
    )
    await client.connect()

    client.metric('my_metric_1', 'value_1', tags={
        'my_tag_1': 'value_1',
    })
    await client.close()


asyncio.run(main())

Contributing

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

$ git clone [email protected]:Gr1N/aiotelegraf.git
$ 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

License

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