python - Zipkin 用于分析传统程序的内部结构

标签 python profiling trace zipkin

我想使用 zipkin 来分析传统程序的内部结构。

我使用术语“传统”,因为 AFAIK zipkin 用于微服务环境中的跟踪,其中一个请求由 N 个子请求计算。

我想分析我的 python 程序的性能。

我想跟踪所有已完成的 python 方法调用和所有 linux 系统调用。

如何跟踪 python 方法调用和 linux 系统调用以将 span 放入 zipkin?

即使这不可行,我对如何做到这一点很感兴趣。我想了解 zipkin 的工作原理。

最佳答案

在 zipkin 术语中,您所询问的通常称为“本地跨度”或“本地跟踪”,基本上是一种既未发起也未导致远程调用的操作。

我不知道系统调用级别的任何内容,但许多跟踪器支持函数调用的显式检测。

例如,使用 py_zipkin @zipkin_span(service_name='my_service', span_name='some_function') def some_function(a, b): 返回 do_stuff(a, b)

除了像这样的显式检测外,还可以将数据导出到 zipkin。例如,可以将在另一种工具中生成的跟踪数据转换为 zipkin's json format。 .

这可能无法回答您的问题,但希望对您有所帮助。

关于python - Zipkin 用于分析传统程序的内部结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41508180/

相关文章:

Python:对象到str的隐式转换?

python - 超时后如何中止 multiprocessing.Pool 中的任务?

Javascript 模块不可用模板不是从基本 Django 模板继承的

linux - 如何在 debian 系统上调试(慢速)链接器

.net - 您如何在配置文件中控制跟踪监听器的级别

python - 如何在 repl.it 中部署 Streamlit 应用程序?

c++ - 无法用gcc打开图形文件gcov

python - 如何对整个 python 项目进行分析?

c# - 跟踪监听器以写入文本框(WPF 应用程序)

.net - 使用.NET 4.5.1,如何使用ETW提供的一些非直观属性?