可以使用第三方库pprof进行cpu曲线图的生成,步骤如下:
- 在代码中导入pprof包
import _ "net/http/pprof"
- 启动一个http server
go func() {
log.Println(http.ListenAndServe("localhost:6060", nil))
}()
- 运行程序,并通过curl命令获取cpu曲线数据
$ curl http://localhost:6060/debug/pprof/profile\?seconds\=30 > cpu.prof
- 使用go tool pprof生成pdf文件
$ go tool pprof -pdf cpu.prof > cpu.pdf
- 打开生成的pdf文件即可查看cpu曲线图
注意:需要在程序运行时尽量复现高负载情况,以便得到有价值的cpu曲线数据。同时,由于pprof会消耗一定的资源和性能,建议在生产环境中慎用。