py-spy:用于Python程序的性能监控、分析器

py-spy是用于python程序的性能监控、分析器。它使你可以直观地看到python程序花费的时间,而无需重新启动程序或以任何方式修改代码。
py-spy的开销非常低:为了最大化提高速度,它是用rust编写的,并且与配置的python程序不在同一进程中运行。这意味着 py-spy 可以安全地用于生产环境的python程序。
py-spy 可在 linux,osx,windows 和 freebsd 上运行,并支持所有最新版本的cpython解释器(2.3-2.7和3.3-3.8版)进行性能分析。
1.安装
可以通过以下方式从 pypi 安装预构建的二进制wheel文件:
pip install py-spy你也可以从 github release page 下载预构建的二进制文件,如果网络无法连接github,你也可在 **python实用宝典 **公众号后台回复 **pyspy **下载。
github release page: https://github.com/benfred/py-spy/releases
2.用法
py-spy 在命令行中进行工作,获取你要从监控的程序的pid或你要运行的python程序的文件。分别有三种分析方法 reco****rd ,top 以及 dump :
recordpy-spy支持使用record命令将配置文件记录到文件中。例如,您可以通过执行以下操作来生成python进程的热力图:
py-spy record -o profile.svg --pid 12345# orpy-spy record -o profile.svg -- python myprogram.py它将生成一个交互式svg文件,如下所示:
你可以使用参数 --format 更改文件格式。请参阅参考资料:py-spy record --help 以获取有关其他选项的信息,包括更改采样率,仅包含gil的线程进行过滤,对本机c扩展进行概要分析,显示线程id,概要分析子进程等。
toptop显示了在python程序中花费最多时间的函数的实时视图,类似于unix top命令。使用以下命令运行:
py-spy top --pid 12345# orpy-spy top -- python myprogram.py将显示你的python程序的实时函数消耗:
dumppy-spy 还可以使用 dump命令显示每个 python 线程的当前调用堆栈:
py-spy dump --pid 12345这会将每个线程的调用堆栈以及其他一些基本进程信息转发到控制台:
对于需要一个调用堆栈来确定python程序挂在何处的情况,这很有用。该命令还可以通过设置 --locals 标志来打印出与每个堆栈帧关联的局部变量。

你家使用的是智能门锁吗?家用指纹门锁一般多少钱?
浅析汽车电子电磁兼容性问题
机器人头盔的制作教程
IDC:2017年中国可穿戴设备市场十大预测
红外雨量计(光学雨量传感器)检测降雨量,预防内涝
py-spy:用于Python程序的性能监控、分析器
2021年性价比降噪蓝牙耳机有哪些?性价比降噪蓝牙耳机推荐
隔离放大器对模拟信号进行隔离的黄金准则
国内领先的通讯板企业
变频器专用进线电抗器的概念、作用及优缺点
3D感知全栈方案赋能全行业,3D结构光将在手机上普及
揭秘小米MIX为什么尝试新奇的声学技术?
UHF RFID读写器天线可以怎样来设计
就在明天!上海智能家居展-芯科科技展位见!
AI+大数据助力下 红外测温产品将成为防疫一线的主力军
原子交换的本质以及对加密货币行业的影响介绍
蓄能已久,期待绽放!CEEASIA亮点看这里
华为手机怎么安装升级鸿蒙系统
关于可穿戴技术的性能对比和优劣分析
激光导航无人叉车的导航形式与特点是什么