查看 正在执行的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
等。