Skip to content

Latest commit

 

History

History
71 lines (47 loc) · 1.84 KB

README.md

File metadata and controls

71 lines (47 loc) · 1.84 KB

Django Datadog

A simple Django middleware for submitting timings and exceptions to Datadog.

This is a derivative work of conorbranagan's package https://github.com/conorbranagan/django-datadog updated to use the latest python datadog API.

Installation

Download the code into your project and install it.

git clone git://github.com/krmboya/dj-datadog.git
cd dj-datadog
python setup.py install

Add dj_datadog to your list of installed apps.

INSTALLED_APPS += ('dj_datadog',)

Add the following configuration to your projects' settings.py file:

DATADOG_API_KEY = 'YOUR_API_KEY'
DATADOG_APP_KEY = 'YOUR_APP_KEY'
DATADOG_APP_NAME = 'my_app' # Used to namespace metric names

The API and app keys can be found at https://app.datadoghq.com/account/settings#api

Add the Datadog request handler to your middleware in settings.py.

MIDDLEWARE_CLASSES += ('dj_datadog.middleware.DatadogMiddleware',)

If you want log the wsgi process memory spikes per request/response cycle, add the memory profiling middleware (see this link for more info)

MIDDLEWARE_CLASSES += ('dj_datadog.middleware.MemoryUsageMiddleware',)

For local development, you can add this to your settings.py file:

DJ_DATADOG_DEBUG = True

The metrics will then be logged locally instead of making requests to Datadog.

Usage

Once the middlewhere installed, you'll start receiving events in your Datadog stream in the case of an app exception.

You will also have the following new metrics available:

  • my_app.request_time.{avg,max,min} in seconds
  • my_app.errors
  • my_app.memory_usage in MB (if the memory usage middleware is used)

Metrics are tagged with path:/path/to/view

Note: my_app will be replaced by whatever value you give for DATADOG_APP_NAME.