Skip to main content

Integration helpers for Sentry and Nameko

Project description

# sentry-nameko

This library provides an custom Data Interface for Sentry allowing you to better
integrate [Nameko]( Call ID Stacks in your
logged events.

## Installing and Prerequisites

You need Sentry installed. Instructions can be found

Install sentry-nameko into the virtualenv that your Sentry instance is installed

pip install sentry-nameko

In your sentry config (by default, at `~/.sentry/`), you need to
extend the `SENTRY_ALLOWED_INTERFACES` setting to include our custom interface.
You'll probably want something like this:


## Logging events example

Presuming you're using built-in `logging`, and you've set up handlers to hit
sentry, you can provide Call ID data to Sentry like so:


# worker_ctx is a WorkerContext instance

'tags': {
'call_id': worker_ctx.call_id,
'parent_call_id': worker_ctx.immediate_parent_call_id,
'sentry_nameko.CallIdStack': {
'call_id_stack': worker_ctx.call_id_stack,


The tagging of the `call_id` and `parent_call_id` fields enables searches to be
performed on events accordingly. The use of `sentry_call_id_stack.CallIdStack`
triggers the custom data interface.

The `WorkerContext` class provides an `extra_for_logging` property where you
can provide a default value for the `extra` parameters of log statements. It's
recommended that you create an application specific sub-class where you return
the extra data above, as well as anything else you'd like logged. Nameko's
built-in log statements will automatically take advantage of this:


class MyApplicationWorkerContext(WorkerContext):
def extra_for_logging(self):
return {
'tags': {
'call_id': worker_ctx.call_id,
'parent_call_id': worker_ctx.immediate_parent_call_id,
'my_custom_tag': 'tag value',
'sentry_nameko.CallIdStack': {
'call_id_stack': worker_ctx.call_id_stack,

logger.log(log_level, message, extra=worker_ctx.extra_for_logging)


## Contributing

`sentry-nameko` is developed on GitHub, primarily by the development team at
[onefinestay]( The GitHub repository is

You are welcome and encouraged to contribute comments, suggestions, patches
and feature requests.

## License

Apache 2.0. See LICENSE for details.

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
sentry-nameko-0.1.2.tar.gz (3.2 kB) Copy SHA256 hash SHA256 Source None Jan 17, 2014

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 DigiCert DigiCert EV certificate StatusPage StatusPage Status page