A set of decorators and helper methods for adding statsd metrics to applications.
You can use pip to install statsdecor:
pip install statsdecor
You can use statsdecor.configure
to configure how statsd clients will be
created:
import statsdecor
statsdecor.configure(host='localhost', prefix='superapp.')
Configuration is generally setup during your application's bootstrap. Once
set configuration values are re-used in all clients that statsdecor
creates.
You can track metrics with either the module functions, or decorators. Incrementing and decrementing counters looks like:
import statsdecor
statsdecor.incr('save.succeeded')
statsdecor.decr('attempts.remaining')
statsdecor.gauge('sessions.active', 9001)
Counters and timers can also be set through decorators:
import statsdecor.decorators as stats
@stats.increment('save.succeeded')
def save(self):
pass
@stats.decrement('attempts.remaining')
def attempt():
pass
@stats.timed('api_request.duration')
def perform_request(self, req)
pass
When using decorators, metrics are only tracked if the decorated function does not raise an error.