vprof 是一个 Python 包,为各种 Python 程序特征(例如运行时间和内存使用情况)提供丰富的交互式可视化。它支持 Python 3.4+ 并在 BSD 许可下分发。
该项目正在积极开发中,其某些功能可能无法按预期工作。
强烈鼓励所有贡献!您可以添加新功能、报告和修复现有错误以及编写文档和教程。请随意提出问题或发送拉取请求!
从源代码构建vprof
依赖项:
Python 3.4+
pip
npm
>= 3.3.12
仅从源代码构建vprof
需要npm
。
所有 Python 和npm
模块依赖项都列在package.json
和requirements.txt
中。
vprof
可以从 PyPI 安装
pip 安装 vprof
要从源构建vprof
,请克隆此存储库并执行
python3 setup.py deps_install && python3 setup.py build_ui && python3 setup.py install
要仅安装vprof
依赖项,请运行
python3 setup.py deps_install
vprof -c <配置> <源>
<config>
是支持模式的组合:
c
- CPU 火焰图
不适用于 Windows #62
显示<src>
的 CPU 火焰图。
p
- 分析器
在<src>
上运行内置 Python 分析器并显示结果。
m
- 内存图
显示由 CPython GC 跟踪并在代码执行后留在内存中的对象。还显示执行每行<src>
后的进程内存使用情况。
h
- 代码热图
显示<src>
的所有已执行代码以及行运行时间和执行计数。
<src>
可以是 Python 源文件(例如testscript.py
)或包路径(例如myproject/test_package
)。
要运行带有参数的脚本,请使用双引号
vprof -c cmh“testscript.py --foo --bar”
模式可以组合
vprof -c cm testscript.py
vprof
还可以分析函数。为此,请以远程模式启动vprof
:
vprof-r
vprof
将在默认网络浏览器中打开新选项卡,然后等待统计信息。
分析函数运行
从 vprof 导入 runnerdef foo(arg1, arg2): ...runner.run(foo, 'cmhp', args=(arg1, arg2), 主机='localhost', 端口=8000)
其中cmhp
是分析模式, host
和port
是在远程模式下启动的vprof
服务器的主机名和端口。获得的统计数据将呈现在默认 Web 浏览器的新选项卡中,通过vprof -r
命令打开。
vprof
可以将配置文件统计信息保存到文件中,并从以前保存的文件中呈现可视化效果。
vprof -c cmh src.py --输出文件 profile.json
将配置文件写入文件并
vprof --输入文件 profile.json
渲染以前保存的文件的可视化效果。
检查vprof -h
以获取支持参数的完整列表。
要显示 UI 帮助,请在显示可视化时按h
。
您还可以检查examples
目录以获取更多分析示例。
python3 setup.py test_python && python3 setup.py test_javascript && python3 setup.py e2e_test
BSD