import "http/pprof"

pprofパッケージは、HTTPサーバ上でランタイムのプロファイリングデータをpprof視覚化ツールのフォーマットで提供します。pprofについての情報は、http://code.google.com/p/google-perftools/を参照ください。

このパッケージではHTTPハンドラを自動的登録するので、通常はインポートだけを行います。ハンドリングするパスはすべて/debug/pprof/で始まります。

pprofを使用するには、このパッケージを各自のプログラム内でインポートします。

import _ "http/pprof"

ヒープのプロファイルを見るには、次のようにしてppofツールを使います。

pprof http://localhost:6060/debug/pprof/heap

パッケージファイル

pprof.go

Cmdline関数

func Cmdline(w http.ResponseWriter, r *http.Request)

Cmdlineは、実行しているプログラムのコマンドラインを返します。コマンドラインはNULバイトで区切られた引数を伴います。この関数はパッケージの初期化の際に、/debug/pprof/cmdlineとして登録されます。

Heap関数

func Heap(w http.ResponseWriter, r *http.Request)

Heapは、pprofフォーマットでヒープのプロファイルを返します。この関数はパッケージの初期化の際に、/debug/pprof/heapとして登録されます。

Symbol関数

func Symbol(w http.ResponseWriter, r *http.Request)

Symbolは、リクエスト内でリストされたプログラムカウンタを参照し、プログラムカウンタと関数名をマッピングしたテーブルを返します。この関数はパッケージの初期化の際に、/debug/pprof/symbolとして登録されます。