Repolode
gaogaotiantian

gaogaotiantian/viztracer

一款低开销的 Python 追踪工具,将代码执行过程记录并以交互式时间线可视化。

Star
7,775
Fork
480
未关闭 Issue
33
最近提交
上个月

这是什么?

VizTracer 是一款用于追踪和可视化 Python 代码执行过程的工具,兼具日志、调试与性能分析功能。它把每次函数进入和退出记录到时间线上,并能同时显示对应的源代码,适合排查意外的执行流程,或定位耗时集中的位置。前端查看器基于 Perfetto 构建,可在浏览器中缩放和浏览。

大多数功能无需修改源码:用 viztracer 命令运行脚本即可生成 result.json,再用 vizviewer 打开。也可以在代码中以 with 语句包裹需要追踪的片段。此外还支持 Jupyter 单元格魔法命令、PyTorch 原生调用与 GPU 事件记录,以及对运行中进程的远程附加追踪。

工具覆盖 threading、multiprocessing、subprocess、os.fork、concurrent.futures 和 asyncio 等场景,并提供最小耗时、最大栈深度、文件包含与排除等过滤选项,以控制生成数据的体积。支持 Linux、macOS 和 Windows,可通过 pip 安装。

核心功能

  • 01在时间线上记录函数的进入与退出,并显示对应源码。
  • 02无需修改代码即可追踪脚本、模块和控制台命令。
  • 03支持 threading、multiprocessing、subprocess、asyncio 和 PyTorch。
  • 04提供最小耗时、最大栈深度及文件包含/排除等过滤选项。
  • 05可远程附加到正在运行的 Python 进程。
  • 06支持 Linux、macOS 和 Windows。

适用场景

  • 排查多线程或异步 Python 程序中意外的执行流程。
  • 定位慢脚本中耗时最多的函数调用。
  • 结合 GPU 事件查看 PyTorch 模型的执行情况。
  • 通过附加到长时间运行的进程,观察其内部行为。

快速上手

  1. 1

    使用 pip 安装 VizTracer

    pip install viztracer
  2. 2

    在命令行中追踪你的脚本

    viztracer my_script.py arg1 arg2
  3. 3

    用查看器打开生成的 result.json

    vizviewer result.json

收录于专题

标签

常见问题

viztracer 是什么?
一款低开销的 Python 追踪工具,将代码执行过程记录并以交互式时间线可视化。 VizTracer 是一款用于追踪和可视化 Python 代码执行过程的工具,兼具日志、调试与性能分析功能。它把每次函数进入和退出记录到时间线上,并能同时显示对应的源代码,适合排查意外的执行流程,或定位耗时集中的位置。前端查看器基于 Perfetto 构建,可在浏览器中缩放和浏览。
viztracer 可以免费使用吗?用的什么许可证?
viztracer 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
viztracer 还在维护吗?
半年内有更新。viztracer 最近一次提交是在 2026年9月26日。
viztracer 适合用来做什么?
排查多线程或异步 Python 程序中意外的执行流程。 定位慢脚本中耗时最多的函数调用。 结合 GPU 事件查看 PyTorch 模型的执行情况。 通过附加到长时间运行的进程,观察其内部行为。
viztracer 怎么安装和运行?
使用 pip 安装 VizTracer: pip install viztracer 在命令行中追踪你的脚本: viztracer my_script.py arg1 arg2 用查看器打开生成的 result.json: vizviewer result.json
在哪里获取 viztracer?
源代码和安装说明在 GitHub 上:https://github.com/gaogaotiantian/viztracer

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目