nameko框架的zipkin跟踪

emplo-nameko-zipkin的Python项目详细描述


员工姓名ko zipkin

nameko框架的zipkin跟踪

安装

pip install emplocity-nameko-zipkin

用法

服务
fromnameko_zipkinimportZipkinfromnameko.rpcimportrpcclassService:name='service'zipkin=Zipkin()# Dependency provider injects py_zipkin.zipkin.zipkin_span object@rpcdefmethod(self):assertself.zipkin.service_name==Service.nameassertself.zipkin.span_name==Service.method.__name__

独立的rpc

frompy_zipkinimportzipkinfromnameko_zipkinimportmonkey_patchfromnameko_zipkin.transportimportHttpHandlerfromnameko.standalone.rpcimportClusterRpcProxyhandler=HttpHandler('http://localhost:9411/api/v1/spans').handlemonkey_patch(handler)withzipkin.zipkin_server_span('RootService','RootMethod',sample_rate=100.,transport_handler=handler):withClusterRpcProxy({'AMQP_URI':"pyamqp://guest:guest@localhost"})asproxy:proxy.service.method()

工作原理

  • monkey_patch patches methodproxy类要初始化客户机范围,在依赖项提供程序设置方法中调用它
  • 在服务方法调用时,将创建一个服务器范围
  • 跟踪参数(trace_id、parent_span_id等)通过上下文数据传递,可在py_zipkin.thread_local.get_zipkin_attrs中访问
  • 如果没有参数,则不会跟踪请求
  • 还支持儿童服务电话
  • 跟踪结果通过nameko_zipkin.transport中的处理程序类报告

配置

Zipkin部分必须添加到nameko service config.yaml中

ZIPKIN:HANDLER:HttpHandlerHANDLER_PARAMS:url:http://localhost:9411/api/v1/spans

计划变更

  • 上下文数据中缺少跟踪属性时的跟踪初始化
  • 卡夫卡运输支持
  • config.yaml('my_module.myhandler')中的自定义处理程序支持

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

推荐PyPI第三方库


热门话题
java Jetty是否有请求缓存?   数组中的java 2值与我的数据帧中的2列对应   对象序列化期间的java DbUtils类型转换问题   java根面板中不显示所有单独的面板   java通过代理或SSH隧道连接Hbase API   java困惑:与经典MVC控制器相比,JSF2中bean的角色   java在我的Triangle类中“找不到符号错误”   java在Android中设置从路径到自定义按钮的图像   java不绕轨道旋转椭圆   AES在socket上搞砸了序列化/反序列化。无效的流标头。JAVA   java在数组中搜索term和if语句   线程“main”java中出现异常。util。正则表达式。PatternSyntaxException:在索引0附近悬挂元字符“*”*   Websphere上的java Google反射无法打开url连接   java为什么inc/dec频道什么都不做?   java KeyListener无法访问keyPressed方法