对请求的opentracing支持
Requests-OpenTracing的Python项目详细描述
此包允许通过The OpenTracing Project跟踪RequestsSession中的http请求。 一旦一个生产系统与真正的并发性竞争,或者分裂成许多服务,关键的(和 以前容易的)任务变得困难:面向用户的延迟优化,后端的根本原因分析 错误,关于现在分布式系统不同部分的通信,等等分布式跟踪 在从移动/浏览器到 微服务。
由于核心服务和库采用opentracing,应用程序构建器不再负担 向自己的代码中添加基本跟踪工具的任务。这样,开发人员可以 他们的应用程序使用他们喜欢的工具,并从内置跟踪工具中受益。 对于主要分布式跟踪系统存在opcCANCE实现,可以绑定或交换。 一行配置更改。
如果您想了解有关底层python api的更多信息,请访问pythonsource code。
安装
运行以下命令:
$ pip install requests-opentracing
用法
提供的requests.Session子类允许使用opentracing api跟踪http方法。 它只需要使用实例初始化一个SessionTracing实例 作为一个标准的请求会话。
初始化
SessionTracing获取由opentracing支持的Tracer实例和可选的 为每个创建的范围提供所需标记的字典。您还可以指定是否希望 当前跟踪上下文将通过HTTP头与客户端请求一起传播。创建 SessionTracing对象,可以直接传入跟踪程序对象,也可以默认为 opentracing.tracer应用程序中其他位置设置的全局跟踪程序:
fromrequests_opentracingimportSessionTracingopentracing_tracer=# some OpenTracing tracer implementationtraced_session=SessionTracing(opentracing_tracer,propagate=True,# propagation allows distributed tracingspan_tags=dict(my_helpful='tag'))# in upstream services you control.resp=traced_session.get(my_url)
或
fromrequests_opentracingimportSessionTracingimportopentracingimportrequestsopentracing.tracer=# some OpenTracing tracer implementationtraced_session=SessionTracing()# default to opentracing.tracer
更多信息
如果您有兴趣进一步了解opentracing标准,请访问 opentracing.io或join the mailing list。如果您想实现opentracing 在您的项目和需要帮助,请随时给我们发送一个注在community@opentracing.io。