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.

Source Distribution

django-datadog-1.0.1.tar.gz (3.8 kB view details)

Uploaded Source

File details

Details for the file django-datadog-1.0.1.tar.gz.

File metadata

File hashes

Hashes for django-datadog-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c54afd562b0e7fa0cc41896f9f209b1e18b5a73aa21b8a5565e48c33c1e6be1a
MD5 e85ad049ddc232f9257e6607616b762d
BLAKE2b-256 6fbbca4c4990093de73488d2f557ed0cc4439c06dd3b22c981cedd643cdd0d73

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page