Graphite/Carbon client
pip install graphiti==0.1.13
Graphiti is python module for sending any metrics to graphite/carbon
Build status:
graphiti is installed via pip.
pip install graphiti
Sample:
from graphiti import Client client = Client(carbon_host) client.send("graphiti.server.cpu_usage", 12.4, timestamp) client.send("graphiti.server.cpu_usage", 15.1) # current time will be used project = "graphite" server = "server" client.send((project, server, "cpu_usage"), 11) # metric name is graphiti.server.cpu_usage # also you can aggregate values on client side from graphiti import Aggregator, timeit aggregator = Aggregator(client, interval=60) # aggregate metrics during minute aggregator.add_sum('processed_messages', 1) aggregator.add_avg('message_processing_avg_time', time_taken) aggregator.add_active('service_is_up') with timeit(aggregator, ["graphiti", "server", "messages"]): process_message() # send metrics graphiti.server.messages.time_avg -- average time of message processing # graphiti.server.messages.time_sum -- total time of message processing # graphiti.server.messages.count -- number of processed message per minute client.stop()
The Graphiti sources are hosted on bitbucket: https://bitbucket.org/asdtech/graphiti