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.aiographite import connect
from aiographite.protocol import PlaintextProtocol

"""
  Initialize a aiographite instance
"""
loop = asyncio.get_event_loop()
plaintext_protocol = PlaintextProtocol()
graphite_conn = await aiographite.connect(*httpd.address, plaintext_protocol, loop=loop)


"""
  Send a tuple (metric, value , timestamp)
"""
graphite_conn.send(metric, value, timestamp)


"""
  Send a list of tuples List[(metric, value , timestamp)]
"""
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)
graphite_conn.send(metric, value, timestamp)


"""
  Close connection
"""
graphite_conn.close()

Example

A simple example.

from aiographite.protocol import PlaintextProtocol
from aiographite.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.1.5.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiographite-0.1.5-py2.py3-none-any.whl (11.3 kB view details)

Uploaded Python 2Python 3

File details

Details for the file aiographite-0.1.5.tar.gz.

File metadata

  • Download URL: aiographite-0.1.5.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for aiographite-0.1.5.tar.gz
Algorithm Hash digest
SHA256 76ecd1940bd69eb58530834b5a104704be9b103a9d377edafdc8582ea34310b6
MD5 e8f495ff71ed0c978f908b05135581ec
BLAKE2b-256 075550842ef2715f89618598bbe8fd280ccc5f9e3f29c8a085465b63746e36d6

See more details on using hashes here.

File details

Details for the file aiographite-0.1.5-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for aiographite-0.1.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4caefce6df99d239cef2703d89262d9ae81281b1d33271f908c07290c4cc08de
MD5 c1746e5c709c9975364e7fef8de7b43d
BLAKE2b-256 b23205da31a380ba4c8c07939060767344f91ae83d90f17f61ee14da30ed247d

See more details on using hashes here.

Supported by

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