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.
Installation
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
redis_opentracing.init_tracing(tracer)
client = redis.StrictRedis()
client.set('last_access', datetime.datetime.now())
It’s possible to trace only specific Redis clients:
redis_opentracing.init_tracing(tracer, trace_all_classes=False)
redis_opentracing.trace_client(client)
# 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()
redis_opentracing.trace_pipeline(pipe)
# This pipeline will be executed as a single MULTI command.
pipe.lpush('fruits', 'lemon', 'watermelon')
pipe.rpush('fruits', 'pineapple', 'apple')
pipe.execute()
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()
redis_opentracing.trace_pubsub(pubsub)
pubsub.subscribe('incoming-fruits')
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 opentracing.io 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 community@opentracing.io.
License
Metadata
Release files for redis-opentracing 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| redis_opentracing-1.0.0.tar.gz | 9.3 kB | Without provenance | Details for redis_opentracing-1.0.0.tar.gz |
Release files / redis_opentracing-1.0.0.tar.gz
| Download URL | redis_opentracing-1.0.0.tar.gz |
|---|---|
| Size | 9.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d54d30c57d60d4650561a6c8bf526895e8106e1f92fe22d47468fbe7eaa4a54e
|
|
BLAKE2b-256 checksum How to use checksums |
f6439920395dc261fee65ea22133b093fb0af28e9880a3198e77aca93e61294a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
Python-urllib/2.7
|
Security for redis-opentracing 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.