No project description provided
Project description
An asyncio library for graphite.
You can find out more here:
http://aiographite.readthedocs.io/en/latest/
What is aiographite ?
aiographite is Python3 library ultilizing asyncio, designed to help Graphite users to send data into graphite easily.
Installing it globally
You can install aiographite globally with any Python package manager:
pip install aiographite
Quick start
Let’s get started.
from aiographite import connect
from aiographite.protocol import PlaintextProtocol
"""
Initialize a aiographite instance
"""
loop = asyncio.get_event_loop()
plaintext_protocol = PlaintextProtocol()
graphite_conn = await connect(*httpd.address, plaintext_protocol, loop=loop)
"""
Send a tuple (metric, value , timestamp)
"""
await graphite_conn.send(metric, value, timestamp)
"""
Send a list of tuples List[(metric, value , timestamp)]
"""
await graphite_conn.send_multiple(list)
"""
aiographite library also provides GraphiteEncoder module,
which helps users to send valid metric name to graphite.
For Example: (metric_parts, value ,timestamp)
"""
metric = graphite_conn.clean_and_join_metric_parts(metric_parts)
await graphite_conn.send(metric, value, timestamp)
"""
Close connection
"""
await graphite_conn.close()
Example
A simple example.
from aiographite.protocol import PlaintextProtocol
from aiographite import connect
import time
import asyncio
LOOP = asyncio.get_event_loop()
SERVER = '127.0.0.1'
PORT = 2003
async def test_send_data():
# Initiazlize an aiographite instance
plaintext_protocol = PlaintextProtocol()
graphite_conn = await connect(SERVER, PORT, plaintext_protocol, loop=LOOP)
# Send data
timestamp = time.time()
for i in range(10):
await graphite_conn.send("yun_test.aiographite", i, timestamp + 60 * i)))
def main():
LOOP.run_until_complete(test_send_data())
LOOP.close()
if __name__ == '__main__':
main()
Development
Run unit tests.
./uranium test
Graphite setup
Do not have graphite instances ? Set up a graphite instance on your local machine!
Please refer:
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiographite-0.2.0.tar.gz.
File metadata
- Download URL: aiographite-0.2.0.tar.gz
- Upload date:
- Size: 8.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9016e91929c37693ff21100eda917b37ec4d435ea230dd8913c2a2f8e75bb613
|
|
| MD5 |
9b70e58b82cf727cc9711ca57122ffd2
|
|
| BLAKE2b-256 |
1b731163c4ce2679a590dc9248c2baf6ed982494383db6423f94103311592672
|
File details
Details for the file aiographite-0.2.0-py3-none-any.whl.
File metadata
- Download URL: aiographite-0.2.0-py3-none-any.whl
- Upload date:
- Size: 10.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
10386908c964213266fcc98a2e0781925bce1c35a261740402dbb425f90a762d
|
|
| MD5 |
97e29dab445a4556630844f8df98efac
|
|
| BLAKE2b-256 |
6d015142990e5b05386219ab4c93633a7abc43383a3f882c4f3c6af1e9515413
|