C剖面火焰图发生器
flameprof的Python项目详细描述
python的cProfile状态的flamegraph生成器。
Flamegraphs允许 以非常简洁易懂的方式可视化函数之间的关系 态度。
Flameprof解决了内置cprofile报告的主要问题,可以替换 gprof2dot因为以后的输出 有很多噪声的非常大的图。
Flameprof使用由 Profile.dump_stats() 调用或通过直接脚本分析:
python -m cProfile -o myscript.prof myscript.py
安装
通过PIP:
pip install flameprof
或者可以直接调用flameprof.py:
python flameprof.py input.prof > output.svg
本机SVG(–format=SVG)
本机SVG功能:
- 在工具提示中使用全名压缩函数名
- 精确计时(累计和总计)
- 调用计数(在悬停时的工具提示中)
- 绿色条显示flameprof开始猜测计时比率的堆栈帧
- 倒转火焰图显示所有调用的总时间
可以通过适当的cli设置图形宽度、行高、字体大小和阈值 选项。
flameprof requests.prof > requests.svg
倒火焰图:
(图像可单击)
用flamegraph.pl生成的Svg(–format=log)
此外,flameprof还可以输出适合作为flamegraph.pl输入的跟踪日志
默认情况下,可以将“samples”视为微秒(请参见--log-mult选项)。
flameprof --format=log requests.prof | flamegraph > requests-flamegraph.svg
(图像可点击)