pprof

ソース

pprofは、/debug/pprofの下のエンドポイントで実行時プロファイリングデータを公開します。

説明

利用可能なエンドポイントのインデックスについては、サイトで/debug/pprofにアクセスできます。デフォルトでは、localhost:6053でリッスンします。

これは、デバッグツールです。特定のリクエスト(実行トレースの収集など)は遅くなる可能性があります。実稼働中のサーバーでpprofを使用する場合は、アクセスを制限するか、一時的に有効にすることを検討してください。

このプラグインは、サーバーブロックあたり1回のみ使用できます。

構文

pprof [ADDRESS]

pprofはオプションでアドレスを取得します。デフォルトはlocalhost:6053です。

この拡張構文を使用して、追加オプションを設定できます。

pprof [ADDRESS] {
   block [RATE]
}
  • blockオプションはブロックプロファイリングを有効にします。RATEのデフォルトは1です。RATEは正の値である必要があります。Diagnostics, chapter profilingおよびruntime.SetBlockProfileRateを参照して、ブロックプロファイリングの内容を確認してください。

pprofエンドポイントを有効にします

. {
    pprof
}

さらにpprofツールを使用して統計情報を取得します: go tool pprof http://localhost:6053

代替アドレスでリッスンします

. {
    pprof 10.9.8.7:6060
}

ポート6060ですべてのアドレスでリッスンし、ブロックプロファイリングを有効にします

. {
    pprof :6060 {
       block
    }
}

関連項目

GoのpprofドキュメントGo’s pprof documentationおよびProfiling Go Programsを参照してください。

runtime.SetBlockProfileRateを参照して、ブロックプロファイリングの背景を確認してください。