跳转到主要内容

您的Python性能跟踪工具

项目描述

perf8

https://github.com/tarekziade/perf8/actions/workflows/ci.yml/badge.svg?branch=main

这是一个ALPHA质量,不受支持,自行承担风险运行

您的Python性能跟踪工具

perf8 是一个跟踪您Python应用性能的工具列表。

该项目是可插拔的,并附带了一些工具

  • cprofile - cProfile到Dot图表生成器

  • pyspy - py-spy速度范围生成器

  • memray - 内存火焰图生成器

  • psutil - psutil集成

  • asyncstats - asyncio事件循环使用统计(适用于异步应用)

安装

使用 pip

pip install perf8

如果您使用 cprofile 插件,您需要安装 Graphviz 以获取 dot 工具。见 https://graphviz.cpp.org.cn/download/

使用

在您的Python模块上运行 perf8 命令

perf8 --all -c /my/python/script.py --option1

将生成一个自包含的HTML报告,适合在自动化中运行并生成性能工件。

您可以选择特定的插件。运行 perf –help 并使用您想要的插件。

异步应用

运行 asyncstats 插件需要提供您应用程序的事件循环。

为了做到这一点,您需要将应用程序进行工具化,以便 perf8 可以监视循环。您可以使用 enabledisable 协程

import perf8

async def my_app():
     await perf8.enable(my_loop)
     try:
         # my code
         await run_app()
     finally:
         await perf8.disable()

为了避免在生产中运行此代码,您可以使用 PERF8 环境变量来检测 perf8 是否正在调用您的应用程序

import os

if 'PERF8' in os.environ:
    import perf8

    async with perf8.measure():
        await run_app()
 else:
     await run_app()

屏幕录像

docs/perf8-screencast.gif

0.0.1 - 2023/01/06

  • 首次发布

0.0.0 - 2022/11/11

  • 不要使用它。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码发行版

perf8-0.0.1.tar.gz (656.6 kB 查看哈希值)

上传时间 源代码