Python跟踪和分析

时间:2013-04-03 02:44:32

标签: python profile trace

我正在寻找同时分析和跟踪python代码。我已经看过python跟踪和traceback类,还看过python Cprofiler和profiler类。

跟踪库不包含有关函数运行多长时间以及内存量的信息,Cprofiler库不显示每次调用该函数所需的运行时间,也不显示该函数的流程像跟踪一样的应用程序。我正在寻找的东西类似于xdebug for php。

python< = 2.6

提前致谢

1 个答案:

答案 0 :(得分:1)

您是否查看了profile,文档here

另请查看here

可视化分析结果

RunSnakeRun 是Mike Fletcher的GUI工具,它使用方形图可视化来自cProfile的配置文件转储。可以根据各种标准对函数/方法调用进行排序,并且可以在可视化和调用统计信息旁边显示源代码。

示例用法:

runsnake some_profile_dump.prof

Gprof2Dot 是一个基于python的工具,可以将分析结果输出转换为可以转换为PNG图像或SVG的图形。

使用python 2.5的典型分析会话看起来像这样(在较旧的平台上,您需要使用实际的脚本而不是-m选项):

python -m cProfile -o stat.prof MYSCRIPY.PY [ARGS...]
python -m pbp.scripts.gprof2dot -f pstats -o stat.dot stat.prof
dot -ostat.png -Tpng stat.dot

PyCallGraph pycallgraph是一个Python模块,可以为Python程序创建调用图。它生成一个PNG文件,显示模块的函数调用及其与其他函数调用的链接,调用函数的次数以及在该函数中花费的时间。

典型用法:

pycallgraph scriptname.py

PyProf2CallTree 是一个脚本,可帮助使用kcachegrind图形化calltree分析器可视化使用cProfile python模块收集的分析数据。

典型用法:

python -m cProfile -o stat.prof MYSCRIPY.PY [ARGS...]
python pyprof2calltree.py -i stat.prof -k