Elasticsearch的OpenTracing支持
项目描述
Redis Opentracing
此包启用Python redis库的分布式跟踪。
注意:如果您需要使用旧的OpenTracing 1.0 API,请使用0.x版本。
安装
运行以下命令
$ pip install redis_opentracing
入门
跟踪Redis客户端需要设置一个与OpenTracing兼容的跟踪器,并调用 init_tracing() 来设置跟踪包装器。请参阅示例目录以了解几种不同的方法。
import redis
import redis_opentracing
redis_opentracing.init_tracing(tracer)
client = redis.StrictRedis()
client.set('last_access', datetime.datetime.now())
可以仅跟踪特定的Redis客户端
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')
也可以仅跟踪特定的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()
当管道命令作为事务执行时,这些命令将在单个 MULTI 操作下分组。它们也将作为单个操作出现在跟踪中。在事务之外,每个命令将生成一个span。
还可以仅跟踪特定的pubsub对象
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.
通过 get_message()、listen() 和 run_in_thread() 收到的入站消息将被跟踪,并且通过pubsub的 execute_command() 方法执行的任何命令也将被跟踪。
更多信息
如果您想了解更多关于OpenTracing标准的信息,请访问 opentracing.io 或 加入邮件列表。如果您想在项目中实现OpenTracing并需要帮助,请随时发送邮件至 community@opentracing.io。
许可证
项目详情
关闭
redis_opentracing-1.0.0.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d54d30c57d60d4650561a6c8bf526895e8106e1f92fe22d47468fbe7eaa4a54e |
|
MD5 | fdfa6fb47df926a9646c7e5cfd88a901 |
|
BLAKE2b-256 | f6439920395dc261fee65ea22133b093fb0af28e9880a3198e77aca93e61294a |