Metadata-Version: 1.1
Name: statsdecor
Version: 0.3.0
Summary: A set of decorators and helper methods for adding statsd metrics to applications.
Home-page: https://github.com/freshbooks/statsdecor
Author: Mark Story
Author-email: markstory@freshbooks.com
License: MIT
Description: # Statsdecor
        
        [![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.txt)
        [![Build Status](https://api.travis-ci.org/freshbooks/statsdecor.svg)](https://travis-ci.org/freshbooks/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.
        
        
        
Keywords: statsd,stats
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
