Repolode
gaogaotiantian

gaogaotiantian/viztracer

関数呼び出しを記録し、コードの実行をインタラクティブなタイムラインで可視化する、低オーバーヘッドのPythonトレーサーです。

スター
7,774
フォーク
480
未解決の Issue
33
最終コミット
先月

これは何?

VizTracerはPythonコードの実行をトレースし、Perfettoをベースにしたブラウザービューアーで結果をインタラクティブなタイムラインとして表示します。各関数の開始と終了は、ソースコードとともにタイムラインに記録されるため、予期しない制御フローのデバッグや、処理時間のかかっている箇所の特定に役立ちます。

ほとんどの機能はソースコードを変更せずに使えます。viztracerコマンド経由でスクリプトを実行するか、VizTracerのコンテキストマネージャーで計測対象の範囲を囲み、生成されたresult.jsonをvizviewerで開くだけです。Jupyterのセルマジック、PyTorchのネイティブイベントとGPUイベントのロギング、実行中プロセスへのリモートアタッチにも対応しています。

threading、multiprocessing、subprocess、os.fork、concurrent.futures、asyncioに対応しており、最小実行時間、スタック深度、対象ファイルの包含・除外リストなどのフィルターでトレースサイズを抑えられます。Linux、macOS、Windowsで動作し、pipでインストールできます。

主な機能

  • 01各関数の開始と終了を、ソースコードとともにタイムラインに記録します。
  • 02ソースコードを変更せずに、スクリプト、モジュール、コンソールスクリプトを実行できます。
  • 03threading、multiprocessing、subprocess、asyncio、PyTorchに対応しています。
  • 04最小実行時間、スタック深度、対象ファイルの包含・除外を指定するフィルターを備えています。
  • 05実行中のリモートPythonプロセスにアタッチできます。
  • 06Linux、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

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト

Pythonコード、ネイティブ拡張、インタープリターのメモリ割り当てを追跡し、複数形式のレポートを生成するPython用メモリプロファイラーです。

開発ツール#python#memory-profiler#memory-leak
1.5万+14 今週484PythonApache-2.0活発にメンテナンス更新 3 日前