参考:【windows】Graphviz的下载安装,配置环境和简单实例
参考:9.1 Go 大杀器之性能剖析 PProf
参考:关于golang性能调试及pprof可视化

1、Graphviz下载安装

       Graphviz是用来查看图形化界面的性能结果分析的,如果不需要的话,可以直接跳过这一步

1、msi包下载

       这边下载的是msi包,不是zip包。提供下载地址:Graphviz - Graph Visualization Software

2、安装

       点开msi,按照步骤默认安装到我们自定义的盘符,安装之后目录是这样:

3、环境变量配置

       这边是windows10的环境变量配置。要配置的属性是我们安装的bin的目录地址

4、验证安装成功

       打开我们的window控制台,win+R弹出“运行”,输入cmd,打开控制台

dot -version

2、简单例子运行

1、书写我们的demo

_ "net/http/pprof"
	package mainimport ("log""net/http"_ "net/http/pprof")func main() {go func() {for {log.Println("https://github.com/EDDYCJY")}}()http.ListenAndServe("0.0.0.0:6060", nil)}

2、启动代码

       启动代码会发现我们的控制台一致在循环打印,正常在http监听客户端请求也是一个无限循环的操作

3、web查看

http://127.0.0.1:6060/debug/pprof/

4、终端交互

go tool pprof http://localhost:6060/debug/pprof/profile?seconds=20

说明:

  • flat:给定函数上运行耗时
  • flat%:同上的 CPU 运行耗时总比例
  • sum%:给定函数累积使用 CPU 总比例
  • cum:当前函数加上它之上的调用运行总耗时
  • cum%:同上的 CPU 运行耗时总比例
help

5、可视界面

1、书写测试函数

	package dataimport "testing"const url = "https://github.com/EDDYCJY"func TestAdd(t *testing.T) {s := Add(url)if s == "" {t.Errorf("Test.Add error!")}}func BenchmarkAdd(b *testing.B) {for i := 0; i < b.N; i++ {Add(url)}}

2、运行测试函数

       因为我们这边的测试函数是在data目录下面,所以我们先要进入到这个data目录下面才能进行运行,有点不智能啊

go test -bench . -cpuprofile cpu.out

3、查看可视化结果

go tool pprof cpu.out

       这边查看的结果大概是这样的: