Skip to main content

simple Django middleware for submitting timings and exceptions to Datadog.

Project description

# Django Datadog

* A simple Django middleware for submitting timings and exceptions to Datadog.
* A helper class, Stats, that creates an API and Statsd connection to Datadog from Django settings

## Installation

Download the code into your project and install it.

```bash
git clone git://github.com/conorbranagan/django-datadog.git
cd django-datadog
python setup.py install
```

Add `djdatadog` to your list of installed apps.

```python
INSTALLED_APPS += ('djdatadog')
```

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

```python
DATADOG_API_KEY = "apikey"
DATADOG_APP_KEY = "appkey"
DATADOG_APP_NAME = "appname" #name your metrics will be tagged with
DATADOG_HOST = "yourddhost" #for statsd metrics
DATADOG_PORT = "8125" #for statsd metrics
```

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`.

```python
MIDDLEWARE_CLASSES += ('djdatadog.middleware.DatadogMiddleware')
```

## Usage

### Stats class

```
from djdatadog.helpers import Stats

s = Stats()
s.increment("my_other_metric", 4, ["tag1", "tag2"])
```

For information on the statsd interface, see the [Datadog Python Client documentation](http://datadogpy.readthedocs.org/en/latest/#datadog-dogstatsd-module)

### Middleware
Once the middlewhere installed, you'll start receiving events in your Datadog
stream in the case of an app exception. Here's an example:

![example django exception](https://dl.dropbox.com/u/126553/django-datadog.png)

You will also have new timing metrics available:

- `my_app.request_time.{avg,max,min}`
- `my_app.errors.500`
- `my_app.errors.404`
- `my_app.errors.403`
- `my_app.errors.405`
- `my_app.errors.410`


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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-datadog-1.0.1.tar.gz (3.8 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page