跳转到主要内容

Elasticsearch的OpenTracing支持

项目描述

Build Status

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

许可证

Apache 2.0许可证

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

redis_opentracing-1.0.0.tar.gz (9.3 kB 查看哈希)

上传时间 源代码

由以下支持