我正在我的公司进行 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)
}