pyinstrument
项目核心内容总结:
pyinstrument 是一个用于分析 Python 程序性能的工具,可生成火焰图等可视化结果,帮助定位性能瓶颈。
功能与使用方法:
- 性能分析:通过命令行(如
pyinstrument script.py)或代码集成(使用Profiler类)分析程序执行过程。 - 输出格式:支持文本、HTML、JSON 等多种输出格式,HTML 结果可交互查看,JSON 支持第三方工具(如火焰图查看器)。
- 隐藏库代码:默认过滤第三方库代码,聚焦用户代码,通过
--hide/--hide-regex自定义过滤规则。 - 时间线模式:使用
--timeline参数保留调用顺序,支持更精确的性能分析。 - 多线程支持:基于统计分析(非信号机制),兼容多线程环境,无主线程限制。
主要特性:
- 支持自定义渲染器(如文本、HTML、JSON),通过参数或代码设置。
- 提供时间线记录模式,适用于生成火焰图等复杂分析。
- 高亮显示用户代码,优化问题定位效率。
- 支持加载历史会话(
--load-prev)和多线程环境下的稳定运行。 - 开源且可扩展,包含单元测试和代码规范检查工具。