Zipkin 用于分析传统程序的内部结构
Posted
技术标签:
【中文标题】Zipkin 用于分析传统程序的内部结构【英文标题】:Zipkin for profiling the internals of a traditional progamm 【发布时间】:2017-01-06 14:50:58 【问题描述】:我想使用 zipkin 来分析传统程序的内部结构。
我使用“传统”一词,因为 AFAIK zipkin 用于在微服务环境中进行跟踪,其中一个请求由 N 个子请求计算。
我想分析一下我的python程序的性能。
我想跟踪所有 python 方法调用和所有完成的 linux 系统调用。
如何跟踪 python 方法调用和 linux 系统调用以将 spans 放入 zipkin?
即使不可行,我也很感兴趣如何做到这一点。我想了解 zipkin 的工作原理。
【问题讨论】:
【参考方案1】:在 zipkin 术语中,您所询问的内容通常称为“本地跨度”或“本地跟踪”,基本上是一种既不发起也不导致远程调用的操作。
我不知道系统调用级别的任何内容,但许多跟踪器支持函数调用的显式检测。
例如,使用py_zipkin
@zipkin_span(service_name='my_service', span_name='some_function')
def some_function(a, b):
return do_stuff(a, b)
除了像这样的显式检测之外,还可以将数据导出到 zipkin。例如,可以将在另一个工具中生成的跟踪数据转换为zipkin's json format。
这可能无法回答您的问题,但希望对您有所帮助。
【讨论】:
以上是关于Zipkin 用于分析传统程序的内部结构的主要内容,如果未能解决你的问题,请参考以下文章