Zesty metrics collection and Statsd integration for Django.
django-zesty-metrics is a middleware suite that uses statsd to report important metrics to a StatD server.
Out of the box, it will track:
- response times individually by view, and in aggregate
- aggregate user activity data
With some minor configuration, it will track:
- individual user activity data
- arbitrary metrics
Install with pip install django-zesty-metrics.
Alternately, clone the git repository and execute python setup.py install within.
In your Django settings:
- Add zesty_metrics to the INSTALLED_APPS
- Add zesty_metrics.middleware.MetricsMiddleware to MIDDLEWARE_CLASSES
- Set the following, as needed: - STATSD_HOST, default localhost - STATSD_PORT, default 8125 - STATSD_PREFIX, default None - ZESTY_TRACKING_CLASSES, default ('zesty_metrics.tracking.UserAccounts',)
- Run syncdb (or migrate if you use South).
Set up a cron job to run the report_metrics django-admin.py command regularly. At least once a day, but you can update it as often as you want. This command reports metrics from the trackers that you configure in ZESTY_TRACKING_CLASSES.
If you want to send metrics from the client-side, hook up the default URLs in your urls.py:
urlpatterns = patterns( '', url(r'^metrics/', include('zesty_metrics.urls')), )
- 0.3.1: - Added missing migrations and management commands.
- 0.3: - Added tests! Many things that didn’t work now work. - Added DailyActivityRecord for tracking daily activity.
- 0.2: Added latency tracking, myriad bug-fixes.
- 0.1.1: Fixed “NO VALUE” error in report_metrics command when values were pulled from the cache.
- 0.1: Initial release