Python 2.x
How to send metrics using Python
Interesting Python Graphite Libraries
A Python module for sending metrics to Graphite over UDP https://github.com/derpston/python-graphiteudp - Charlie wrote this library, and we use it internally. It’s a good simple library for sending metrics over UDP in Python.
Diamond - Send system metrics to Graphite Diamond - A really useful Python daemon to send system metrics such as CPU usage, load, Disk IO, etc.
Sending a metric via TCP
import socket
conn = socket.create_connection(("YOUR-UID.carbon.hostedgraphite.com", 2003))
conn.send("YOUR-API-KEY.foo.py-tcp 1.2\n")
conn.close()Sending a metric via UDP
import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.sendto("YOUR-API-KEY.foo.py-udp 1.2\n", ("YOUR-UID.carbon.hostedgraphite.com", 2003))Sending a metric using HTTP POST
import urllib2, base64
url = "https://www.hostedgraphite.com/api/v1/sink"
api_key = "YOUR-API-KEY"
request = urllib2.Request(url, "foo.py-http 1.2")
request.add_header("Authorization", "Basic %s" % base64.encodestring(api_key).strip())
result = urllib2.urlopen(request)Sending a metric via TCP over TLS tunnel
Your API key can be found on your account home page.
Python 3.x
Sending a metric via TCP
Sending a metric via UDP
Sending a metric using HTTP POST
With the requests module:
Using only stdlib modules: (Contributed by Waldo, thanks!)
Sending a metric via TCP over TLS tunnel
Sending a metric via StatsD
When sending StatsD metrics, make sure to specify counters (c), gauges (g), or timers (ms).
Your API key can be found on your account home page.
Last updated
Was this helpful?