支持ElasticSearch的OpenTracing

redis-opentracing的Python项目详细描述


Build Status

redis opentracing

这个包支持python redis库的分布式跟踪。

note:如果需要使用旧的opentracing 1.0api,请使用0.x版本。

安装

运行以下命令:

$ pip install redis_opentracing

开始

跟踪redis客户端需要设置与opentracing兼容的跟踪程序,并调用init_tracing()来设置跟踪包装器。有关几种不同的方法,请参见examples目录。

importredisimportredis_opentracingredis_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')

也可以只跟踪特定的管道:

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操作下。它们也将在跟踪中显示为单个操作。在事务之外,每个命令都将生成一个范围。

而且还可以只跟踪特定的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.iojoin the mailing list。如果您想在您的项目中实现opentracing并需要帮助,请随时在community@opentracing.io向我们发送一条消息。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我是否需要构造一个带有*非final*但不可变字段的不可变类?   java如何使用jaxb读取属性?   java为什么不打印空值以外的任何内容?   java Struts2如何在不使用struts的情况下重定向到操作。xml?   java方法参数未在其实现中使用   在Java中更改终端内部的变量   Spring中的java依赖项注入失败   java如何使用getAttribute Selenium防止获取重复的HREF   优先级队列的java顺序不符合预期   java如何使用Spring TaskExecutor在应用程序的所有请求中使用单个任务池   java Firebase RecyclerView不会从数据库中检索项目并将其显示在屏幕上。屏幕是空的   java将YUV_420_888转换为字节数组   spring停止使用Java缓存文件   java在执行maven clean安装时,我在eclipse智能家居中遇到了这种错误   stream Java=下载缓冲区未满?冲洗/缓冲是如何工作的?   查询SQL server时重置java JDBC连接   java如何避免在两个函数中使用相同的逻辑。   转换java。lang.Boolean到Scala Boolean