Minimal and smart pusher of samples to InfluxDB for asyncio programs
- Create a
InfluxDbPusher
object - Call it to push samples
InfluxDbPusher
will try to do intelligent aggregation of samples in the background to minimise the number of HTTP request to the InfluxDb server.
Example:
import asyncio
import logging
from influxdbpusher import InfluxDbPusher
async def test():
logging.basicConfig(level=logging.DEBUG)
influx = InfluxDbPusher("http://influxdb:8086", "playground")
while True:
for dummy in range(10):
await asyncio.sleep(0.02)
influx("test", dummy, {"foo": "bar"})
influx("measurement1",
{"fieldname1": 'hello "world"', "value": 2.0},
{"foo": "bar"})
await asyncio.sleep(5)
await influx.close()
if __name__ == '__main__':
asyncio.get_event_loop().run_until_complete(test())
pip install influxdbpusher
- Python >= 3.5
- aiohttp
MIT License
Copyright (c) 2017, Gambit Research
influxdbpusher was written by Gustavo Carneiro.