Skip to main content

No project description provided

Project description

build status coverage status

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiographite-0.2.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

aiographite-0.2.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

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

Hashes for aiographite-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9016e91929c37693ff21100eda917b37ec4d435ea230dd8913c2a2f8e75bb613
MD5 9b70e58b82cf727cc9711ca57122ffd2
BLAKE2b-256 1b731163c4ce2679a590dc9248c2baf6ed982494383db6423f94103311592672

See more details on using hashes here.

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

Hashes for aiographite-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 10386908c964213266fcc98a2e0781925bce1c35a261740402dbb425f90a762d
MD5 97e29dab445a4556630844f8df98efac
BLAKE2b-256 6d015142990e5b05386219ab4c93633a7abc43383a3f882c4f3c6af1e9515413

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page