私は会社で Go トレーニングを行っており、最善の方法で pprof パッケージを提示したいと考えています。私の例は、pprof の威力を単純に示すには不十分だと思います。go std ライブラリのみを使用したい。コードは、ボトルネックのある単純な呼び出しグラフを提供するはずです。
私の現在のワークフローは次のとおりです。 1. webserver に pprof を含めます 2. webserver を実行します (30 秒間データを収集します (デフォルト)) 3. webserver に対していくつかの curl ショットを実行します 4. pprof グラフを表示します
私のコードは以下のようになります:
package main
import (
"fmt"
"net/http"
_ "net/http/pprof"
)
func handler(w http.ResponseWriter, r *http.Request) {
for i := 0; i < 100000000; i++ {
w.Write([]byte(fmt.Sprintf("%d - %d, ", i, i)))
}
}
func main() {
http.HandleFunc("/", handler)
http.ListenAndServe(":8080", nil)
}