Metadata-Version: 2.0
Name: django-statsd
Version: 2.2.0
Summary: django-statsd is a Django app that submits query and view durations to Etsy's statsd.
Home-page: https://github.com/WoLpH/django-statsd
Author: Rick van Hattem
Author-email: Rick.van.Hattem@Fawo.nl
License: BSD
Platform: UNKNOWN
Classifier: License :: OSI Approved :: BSD License
Provides-Extra: docs
Provides-Extra: tests
Requires-Dist: python-statsd (>=1.7.2)
Provides-Extra: docs
Requires-Dist: django (>=1.11); extra == 'docs'
Requires-Dist: mock; extra == 'docs'
Requires-Dist: sphinx (>=1.7.2); extra == 'docs'
Provides-Extra: tests
Requires-Dist: mock; extra == 'tests'
Requires-Dist: pytest; extra == 'tests'
Requires-Dist: pytest-cache; extra == 'tests'
Requires-Dist: pytest-cov; extra == 'tests'
Requires-Dist: pytest-django; extra == 'tests'
Requires-Dist: pytest-flakes; extra == 'tests'
Requires-Dist: pytest-pep8; extra == 'tests'

Introduction
============

`django_statsd` is a middleware that uses `python-statsd` to log query
and view durations to statsd.

* Documentation
    - http://django-stats.readthedocs.org/en/latest/
* Source
    - https://github.com/WoLpH/django-statsd
* Bug reports 
    - https://github.com/WoLpH/django-statsd/issues
* Package homepage
    - https://pypi.python.org/pypi/django-statsd
* Python Statsd
    - https://github.com/WoLpH/python-statsd
* Graphite
    - http://graphite.wikidot.com
* Statsd 
    - code: https://github.com/etsy/statsd
    - blog post: http://codeascraft.etsy.com/2011/02/15/measure-anything-measure-everything/


Install
=======

To install simply execute `python setup.py install`.
If you want to run the tests first, run `python setup.py test`


Usage
=====

To install, add the following to your ``settings.py``:

1. ``django_statsd`` to the ``INSTALLED_APPS`` setting.
2. ``django_statsd.middleware.StatsdMiddleware`` to the **top** of your 
    ``MIDDLEWARE_CLASSES``
3. ``django_statsd.middleware.StatsdMiddlewareTimer`` to the **bottom** of your 
    ``MIDDLEWARE_CLASSES``

Advanced Usage
--------------

    >>> def some_view(request):
    ...     with request.timings('something_to_time'):
    ...         # do something here
    ...         pass
    >>>    
    >>> def some_view(request):
    ...     request.timings.start('something_to_time')
    ...     # do something here
    ...     request.timings.stop('something_to_time')



