这个项目能做什么

py-spy 是一款用 Rust 编写的采样分析器,专为以极低开销分析 Python 程序而设计。由于它在单独进程中运行并直接读取目标程序的内存,因此可安全用于生产环境。 主要功能包括: - **非侵入式分析**:无需重启程序或修改源代码即可可视化函数耗时情况。 - **三种主要模式**: - `record`:生成 SVG 交互火焰图或 speedscope 文件等格式的 prof 数据。 - `top`:以类似 Unix top 命令的方式实时显示占用时间最多的函数概览。 - `dump`:转储每个 Python 线程的当前调用栈,可选包含局部变量。 - **广泛兼容性**:支持 Linux、OSX、Windows 和 FreeBSD,兼容 CPython 2.3-2.7 及 3.3-3.14 版本。 - **高级功能**: - 支持分析原生 C/C++ 或 Cython 扩展。 - 能够分析子进程(例如 multiprocessing 或 gunicorn worker 池)。 - GIL(全局解释器锁)检测,用于筛选持有锁的线程。 - 非阻塞模式,避免完全暂停目标进程。