haystack python opentracing实现

haystack-client的Python项目详细描述


Build StatusLicense

python opentracing api的haystack绑定

这是haystack的python客户端库,它实现了OpenTracing

有关详细信息,请参见opentracing.io

使用此库

请参阅/examples目录中的示例。有关其他信息,请参见opentracingusage

首先,通过提供服务名称和记录器在应用程序级别初始化跟踪程序

importopentracingfromhaystackimportHaystackAgentRecorderfromhaystackimportHaystackTraceropentracing.tracer=HaystackTracer("a_service",HaystackAgentRecorder())

可以使用start_active_span()

withopentracing.tracer.start_active_span("span-name")asscope:do_stuff()

或者用

span=opentracing.tracer.start_span("span-name")do_stuff()span.finish()

注意:如果有作用域,它将充当任何新启动的span的父级,除非程序员通过 ignore_active_span=Truestart_span()/start_active_span()时间或指定的父上下文显式使用 childOf=parent_context

自定义传播头

如果需要,可以通过指定自定义传播程序选项将默认传播头替换为自定义传播头。一旦配置好跟踪程序,就向跟踪程序注册新的传播程序。

prop_opts=PropagatorOpts("X-Trace-ID","X-Span-ID","X-Parent-Span","X-baggage-")opentracing.tracer.register_propagator(opentracing.Format.HTTP_HEADERS,TextPropagator(prop_opts))

日志记录

所有模块都通过logging.getLogger(__name__)

因此,要为此库定义特定的日志格式或级别,请使用getLogger('haystack'),或配置 根记录程序。

如何配置生成环境

创建python3虚拟环境,激活它,然后make bootstrap

运行示例代码

make example

如何发布此库

在github中创建一个新版本,指定一个大于当前版本的semver兼容标记。

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

推荐PyPI第三方库


热门话题
java将字符串拆分为带关键字的部分   删除数据库后未指定java数据源问题“url”属性   网络化java多人游戏连接   Java当新字符串等于旧字符串时,为什么substring()不创建新对象?   一个实例到多个bean的java注入   JavaSpringMVC验证错误消息   java总结if语句,并从另一个对象(如字符串[])读取if条件(动态if)   需要多个输入的Java IF语句   jsf如何选择正确的bean范围?   java将数据库值加载到组合框JSP,Hibernate   一次活动中的java 3布局   团队和球员反对Java的困难   java ActionListener如何知道按下了哪个按钮?