Skip to main content

OpenTracing support for Elasticsearch

Project description

Build Status

Redis Opentracing

This package enables distributed tracing for the Python redis library.

Note: If you need to use the old OpenTracing 1.0 API, use the 0.x releases.


Run the following command:

$ pip install redis_opentracing

Getting started

Tracing a Redis client requires setting up an OpenTracing-compatible tracer, and calling init_tracing() to set up the tracing wrappers. See the examples directory for several different approaches.

import redis
import redis_opentracing


client = redis.StrictRedis()

It’s possible to trace only specific Redis clients:

redis_opentracing.init_tracing(tracer, trace_all_classes=False)

# Only commands and pipelines executed through this client will
# be traced.
res = client.get('last_access')

It’s also possible to trace only specific pipelines:

redis_opentracing.init_tracing(tracer, trace_all_classes=False)

pipe = client.pipeline()

# This pipeline will be executed as a single MULTI command.
pipe.lpush('fruits', 'lemon', 'watermelon')
pipe.rpush('fruits', 'pineapple', 'apple')

When pipeline commands are executed as a transaction, these commands will be grouped under a single MULTI operation. They’ll also appear as a single operation in the trace. Outside of a transaction, each command will generate a span.

And it’s also possible to trace only specific pubsub objects:

redis_opentracing.init_tracing(tracer, trace_all_classes=False)

pubsub = client.pubsub()

msg = pubsub.get_message() # This message will appear as a 'SUB' operation.

Incoming messages through get_message(), listen() and run_in_thread() will be traced, and any command executed through the pubsub’s execute_command() method will be traced too.

Further information

If you’re interested in learning more about the OpenTracing standard, please visit or join the mailing list. If you would like to implement OpenTracing in your project and need help, feel free to send us a note at

Project details

Download files

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

Files for redis-opentracing, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size redis_opentracing-1.0.0.tar.gz (9.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page