py-spy:Python程序的采样分析器

py-spy:Python程序的采样分析器

py-spy Sampling profiler for Python programs py-spy 项目地址: https://gitcode.com/gh_mirrors/py/py-spy

项目基础介绍和主要编程语言

py-spy 是一个用于Python程序的采样分析器。它允许用户在不重启程序或修改代码的情况下,可视化Python程序的运行情况。该项目主要使用Rust编程语言开发,以确保其具有极低的开销和高效的性能。

项目核心功能

  1. 低开销分析:py-spy通过Rust编写,不与被分析的Python程序运行在同一进程中,因此对生产环境的Python代码进行分析时,安全性高且性能影响极小。
  2. 跨平台支持:支持Linux、OSX、Windows和FreeBSD,并且兼容CPython解释器的多个版本(2.3-2.7和3.3-3.11)。
  3. 多种分析模式
    • record:记录分析结果到文件,支持生成火焰图、speedscope配置文件或原始数据。
    • top:实时显示Python程序中占用时间最多的函数,类似于Unix的top命令。
    • dump:显示每个Python线程的当前调用栈,有助于快速定位程序卡顿或死锁问题。

项目最近更新的功能

  1. 子进程分析:通过--subprocesses标志,py-spy现在可以分析目标程序的子进程,这对于使用多进程或gunicorn工作池的应用程序非常有用。
  2. 本地变量显示:在dump命令中,新增了--locals标志,可以显示每个栈帧的本地变量,帮助开发者更深入地理解程序状态。
  3. 原生扩展支持:通过--native标志,py-spy现在支持分析用C/C++或Cython编写的Python原生扩展,前提是这些扩展编译时带有符号信息。

通过这些更新,py-spy进一步增强了其作为生产环境中Python程序分析工具的能力,提供了更全面和深入的分析功能。

py-spy Sampling profiler for Python programs py-spy 项目地址: https://gitcode.com/gh_mirrors/py/py-spy

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

严垣桑Butterfly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值