支持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使用唯一的按钮标签单击按钮   代码生成如何使用Java codeModel为数组的特定索引赋值   java如何批量执行Camel SQL插入   java iText 7将ltv添加到现有签名   内存管理Java应用程序突然停止几天后(810)   带MySQL的java注册表单JavaFX在intellij中失败   如何使用eclipse为windows azure java项目启用远程调试   一种通用的java输入输出设计模式   java Android XML(RSS)忽略引号(“”)   java帮助:安卓中的8 X 10 2维按钮数组   java启动Android项目   JWrapper构建java应用程序   java如何在Android应用程序中设置基于日期/时间的默认页面加载?   java循环程序在完成后返回到起点   java Hibernate:更好的整体类还是多类映射?   回溯数独解算器的递归问题[Java]   java查找类用法   java如何在SpringWebFlow中将多个模型绑定到一个视图?