A set of decorators and helper methods for adding statsd metrics to applications.
Project description
# Statsdecor
A set of decorators and helper methods for adding statsd metrics to applications.
## Installation
You can use pip to install statsdecor:
```shell
pip install statsdecor
```
## Configuration
You can use `statsdecor.configure` to configure how statsd clients will be
created:
```python
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.
## Usage
You can track metrics with either the module functions, or decorators. Incrementing
and decrementing counters looks like:
### Metric functions
```python
import statsdecor
statsdecor.incr('save.succeeded')
statsdecor.decr('attempts.remaining')
statsdecor.gauge('sessions.active', 9001)
```
Counters and timers can also be set through decorators:
```python
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.
A set of decorators and helper methods for adding statsd metrics to applications.
## Installation
You can use pip to install statsdecor:
```shell
pip install statsdecor
```
## Configuration
You can use `statsdecor.configure` to configure how statsd clients will be
created:
```python
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.
## Usage
You can track metrics with either the module functions, or decorators. Incrementing
and decrementing counters looks like:
### Metric functions
```python
import statsdecor
statsdecor.incr('save.succeeded')
statsdecor.decr('attempts.remaining')
statsdecor.gauge('sessions.active', 9001)
```
Counters and timers can also be set through decorators:
```python
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
statsdecor-0.1.0.tar.gz
(2.7 kB
view hashes)
Built Distribution
Close
Hashes for statsdecor-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec3b5e603073183eb30800f841fcacf77ebfbf65801e92bb2fdd258ce7961138 |
|
MD5 | fc96cb6155ad6c7154c42cde8af32939 |
|
BLAKE2b-256 | ab3ae7943ac34560d8bfdc13311c014cea9ff1643b80ebae659e10c0a92d22fa |