この記事は KLab Advent Calendar 2015 の18日目の記事です。 Go 言語のランタイムは CPU プロファイル以外にも幾つかのプロファイルを標準で実装していますが、あまり Web 上に実用的な情報がありません。 そこでこの記事では、実際に Go で長期間稼働するサーバーを開発する上で役に立った CPU 以外のプロファイル機能を紹介することにします。 スタックダンプ /debug/pprof/goroutine で、現時点での全 goroutine のダンプを取得できます。 これは go tool pprof でも利用できますが、実際に使うときはそれよりも curl や wget などを使って /debug/pprof/goroutine?debug=1 をプレインテキスト形式で保存します。 例えば、次のプログラムのスタックダンプを取得してみます。 package m
![Go pprof 応用編 (CPU 以外のプロファイル)](https://cdn-ak-scissors.b.st-hatena.com/image/square/da71430a17afd3602d8c64f7c88004852af48b18/height=288;version=1;width=512/https%3A%2F%2Fwww.klab.com%2Fjp%2Fassets%2Fimg%2Fogp-image.png)