首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python中的统计分析

Python中的统计分析
EN

Stack Overflow用户
提问于 2018-02-28 13:22:31
回答 3查看 617关注 0票数 12

我想知道Python解释器在我的生产环境中所做的事情。

不久前,我编写了一个名为活迹的简单工具,它运行一个守护进程线程,每N毫秒收集一次堆栈跟踪。

但是解释器本身的信号处理有一个缺点:

虽然Python信号处理程序就Python用户而言是异步调用的,但它们只能发生在Python解释器的“原子”指令之间。这意味着在纯用C实现的长计算期间到达的信号(例如,大型文本体上的正则表达式匹配)可能会被延迟任意时间。

来源:https://docs.python.org/2/library/signal.html

我如何绕过上述约束并获得堆栈跟踪,即使解释器在某些C代码中运行了几秒钟?

相关:https://github.com/23andMe/djdt-flamegraph/issues/5

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-11-22 13:46:51

我现在使用派-间谍速度范围。这是一个很酷的组合。

py-间谍工作在Windows/Linux/macOS上,可以自己输出火焰图,并被积极部署。2019年10月增加了子流程分析支持。

票数 7
EN

Stack Overflow用户

发布于 2018-02-28 18:29:34

你试过火焰了吗?它基于ptrace,因此不应该受到CPython的信号处理微妙性的影响。

票数 6
EN

Stack Overflow用户

发布于 2018-03-10 15:42:37

也许布兰登·格雷格的perf-工具能帮上忙

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49030629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档