下载graphviz
https://graphviz.gitlab.io/_pages/Download/Download_windows.html
windows下载msi格式,安装成功后,进入命令行查看是否安装成功
指令:dot -version
如下图,说明安装成功
添加代码
在你的程序中加入如下代码:
import "net/http"
import _ "net/http/pprof"
func main() {
// 主函数中添加
http.ListenAndServe("0.0.0.0:9999", nil)
}
运行程序
在命令行执行如下指令:
go tool pprof -http=:1234http://localhost:9999/debug/pprof/profile
等几秒钟就会出现如下界面,选择【Flame Graph】
如上图,宽度代表耗时
beego查看接口调用耗时
如果你是用beego框架开发,beego提供了查看接口调用的功能,跟火焰图功能类似
在配置文件中添加如下配置
EnableAdmin = true
AdminHttpAddr = 0.0.0.0
AdminHttpPort = 19099
启动程序
访问 localhost:19099,出现如下界面
注意:下面的内容,在点击对应的操作后,需要操作接口,才能获取对应的接口使用统计信息
【Requests statistics】:查询接口调用耗时情况,如下图
【lookup goroutine】:查找协程信息
【get cpuprof】:查看cpu耗时统计
【get memprof】:查看内存消耗统计
【gc summary】:查看垃圾回收情况,如下图