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 Github操作在生成期间未识别机密值   java根据给定的索引号选择适当的字符。开关语句   java如何在我的项目中使用SCA mvn插件在Fortify SCA扫描中仅包含一个文件夹?   java SwingWorker无法完成   使用KeyBindings Java在按住键时摆动停止暂停   java如何从sqlite数据库获取数据   java如何使用windows批处理文件逐个启动spring引导jar文件?   在Java中,字典是在构造函数中初始化映射的更好方法   用于在Java中创建2D形状的swing高级API   JavaSwing:制作一个可滚动的JPanel列表   引用泛型类中枚举成员的c#语法   java Doc4j:由于元素类型不同,比较两个文档失败   java如何优化绘制这些标记?