statshog

A simple statsd client.


Keywords
python, influxdb, metrics, statsd, instrumentation, telegraf
License
MIT
Install
pip install statshog==1.0.6

Documentation

A Python statsd client

A python client for Etsy's StatsD server and InfluxDB's Telegraf StatsD server.

Latest release

Supported Python versions

Wheel Status

Code: https://github.com/macobo/statshog

License: MIT; see LICENSE file

Issues: https://github.com/macobo/statshog/issues

Documentation: https://statshog.readthedocs.io/

Install

The easiest way to install statsd is with pip!

You can install from PyPI:

pip install statshog

Or GitHub:

$ pip install -e git+https://github.com/macobo/statshog#egg=statshog

Or from source:

git clone https://github.com/macobo/statshog
cd pystatsd
python setup.py install

Usage

Quick usage

import statshog
statsd = statshog.StatsClient(host='localhost', port=8125)
statsd.incr('foo')  # Increment the 'foo' counter.
statsd.timing('stats.timed', 320)  # Record a 320ms 'stats.timed'

Using with telegraf/influxdb

import statshog
statsd = statshog.StatsClient(telegraf=True)
statsd.timing('stats.timed', 320, tags={"mytag": 456})

Usage with django

Update your settings.py to have the following values if using non-defaults:

  • STATSD_HOST (default: 'localhost')
  • STATSD_PORT (default: 8125)
  • STATSD_PREFIX (default: None)
  • STATSD_MAXUDPSIZE (default: 512)
  • STATSD_IPV6 (default: False)
  • STATSD_TELEGRAF (default: False)
  • STATSD_SEPARATOR (default: '.')

Then, you can use statshog as following:

from statshog.defaults.django import statsd

statsd.timing('stats.timed', 320)

To use together with django-statsd, also add the following to your settings.py:

STATSD_CLIENT = "statshog"