查看 正在執行的goroutine分兩步:
1.程序中引入pprof pakage
在程序中引入pprof package:
import _ "net/http/pprof"
程序中開啟HTTP監聽服務:
package main
import (
_ "net/http/pprof"
"net/http"
)
func main() {
go func() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}()
select{}
}
2.下載並分析goroutine文件
瀏覽器中打開鏈接127.0.0.1:6060/debug/pprof/goroutine
會下載goroutine文件。
下載后,在命令行下執行:
go tool pprof -http=":8081" goroutine
會自動打開瀏覽器頁面如下圖所示。
在圖中可以清晰的看到goroutine的數量以及調用關系。
左側的菜單欄,可以查看Top、Graph、Flame Graph
等。