Repolode
google

google/pprof

profile.proto形式のプロファイリングデータを可視化・分析するコマンドラインツール兼Webツール。

スター
9,323
フォーク
686
未解決の Issue
64
最終コミット
一昨日

これは何?

pprofは、profile.proto形式のプロファイリングサンプル群を読み込み、時間やメモリの使用箇所を把握するためのレポートを生成します。ホットスポット順のテキストレポートや、Graphvizで描画したグラフィカルなコールグラフを出力できるほか、プロファイルを調べるための対話型シェルやWebインターフェースも利用できます。

プロファイルはローカルファイルから読み込むことも、HTTP経由で取得することもできます。同じ種類の複数のプロファイルを集約したり、比較したりすることも可能です。プロファイルに生のマシンアドレスが含まれている場合は、プログラムのバイナリを指定すると、ネイティブのbinutilsツールであるaddr2lineとnmを使ってシンボル化できます。また、付属のコンバーターを使って、Linux perfのperf.dataファイルを読み込むこともできます。

go install github.com/google/pprof@latestでインストールできます。Graphvizは任意で、グラフィック出力を使う場合にのみ必要です。このプロジェクトはGoogleの公式プロダクトではありません。

主な機能

  • 01プロファイルデータから、ホットスポット順のテキストレポートを生成します。
  • 02Graphvizで描画したSVGコールグラフを出力します。
  • 03対話型コマンドシェルとブラウザベースのWebインターフェースを提供します。
  • 04ローカルファイルまたはHTTP経由でプロファイルを読み込みます。
  • 05同じ種類の複数のプロファイルを集約または比較します。
  • 06addr2lineとnmを使ってアドレスをシンボル化します。

ユースケース

  • 収集したプロファイルから、GoサービスのCPUやメモリのホットスポットを特定する。
  • 遅いプログラムのコールグラフを可視化し、どの経路が最も時間を消費しているかを確認する。
  • コード変更の前後でプロファイルを比較し、その影響を測定する。
  • Linux perfの記録をprofile.proto形式に変換して分析する。

クイックスタート

  1. 1

    Go開発キットとGraphvizをインストールする(グラフィカル出力を使う場合は任意)

  2. 2

    Goを使ってpprofをビルドしてインストールする

    go install github.com/google/pprof@latest
  3. 3

    プロファイルをホット度順に並べたテキストレポートを生成する

    pprof -top [main_binary] profile.pb.gz

使う前に知っておきたいこと

  • グラフィカル出力には、別途Graphvizのインストールが必要です。

収録されている特集

トピック

よくある質問

pprof とは?
profile.proto形式のプロファイリングデータを可視化・分析するコマンドラインツール兼Webツール。 pprofは、profile.proto形式のプロファイリングサンプル群を読み込み、時間やメモリの使用箇所を把握するためのレポートを生成します。ホットスポット順のテキストレポートや、Graphvizで描画したグラフィカルなコールグラフを出力できるほか、プロファイルを調べるための対話型シェルやWebインターフェースも利用できます。
pprof は無料で使えますか?ライセンスは?
pprof は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
pprof は今もメンテナンスされていますか?
活発にメンテナンス中。pprof の最終コミットは 2026年11月5日 です。
pprof は何に使えますか?
収集したプロファイルから、GoサービスのCPUやメモリのホットスポットを特定する。 遅いプログラムのコールグラフを可視化し、どの経路が最も時間を消費しているかを確認する。 コード変更の前後でプロファイルを比較し、その影響を測定する。 Linux perfの記録をprofile.proto形式に変換して分析する。
pprof のインストール方法は?
Go開発キットとGraphvizをインストールする(グラフィカル出力を使う場合は任意) Goを使ってpprofをビルドしてインストールする: go install github.com/google/pprof@latest プロファイルをホット度順に並べたテキストレポートを生成する: pprof -top [main_binary] profile.pb.gz
pprof はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/google/pprof

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

関連プロジェクト