go 1.5 跟踪命令

2024-01-24

Go 1.5 发行说明说,

新的“go tool trace”命令可以实现运行时中新跟踪基础设施生成的程序跟踪的可视化。

这真的很令人兴奋,我想了解更多。但其官方文件位于https://golang.org/cmd/trace/ https://golang.org/cmd/trace/真的很干。

发现罗布·派克对此提出抱怨 https://github.com/golang/go/issues/11605,要求“1.5 版本发布后不久,应该会有一篇关于该功能的博客文章。”

如果有人发布/发现了这样的博客,请在此处添加链接。或者,如果您想直接在这里回答,也欢迎。

Thanks


有两种方法可以生成跟踪文件。

Method 1

  1. 在程序开头添加以下行

    f, err := os.Create(time.Now().Format("2006-01-02T150405.pprof"))
    if err != nil {
        panic(err)
    }
    defer f.Close()
    
    if err := trace.Start(f); err != nil {
        panic(err)
    }
    defer trace.Stop()
    
  2. 构建程序

    go build

  3. 运行您的程序(例如./myprogram)
  4. Run go trace.

    go工具跟踪myprogram 2015-08-21T115354.pprof

Method 2

  1. 利用测试包编写测试函数。
  2. 使用跟踪标志运行测试

    去测试-跟踪trace.out

  3. 使用生成的 .test 和 .out 文件运行跟踪工具

    go tool trace pkg.test trace.out

在这两种情况下,您的浏览器都会打开类似这样的内容

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

go 1.5 跟踪命令 的相关文章

随机推荐