go 1.5 trace命令

xpt*_*xpt 9 trace graph go demo

Go 1.5发行说明说,

新的"go tool trace"命令可以显示运行时中新跟踪基础结构生成的程序跟踪.

这真的令人兴奋,我想了解更多.但它在https://golang.org/cmd/trace/上的官方文件非常干燥.

发现Rob Pike抱怨它,要求"在1.5发布后不久,应该有一篇关于该功能的博客文章."

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

谢谢

May*_*tel 13

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

方法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()
    
    Run Code Online (Sandbox Code Playgroud)
  2. 建立程序

    去构建

  3. 运行你的程序(例如./myprogram)
  4. 跑去跟踪.

    go tool trace myprogram 2015-08-21T115354.pprof

方法2

  1. 使用测试包编写测试功能.
  2. 使用跟踪标志运行测试

    go test -trace trace.out

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

    去工具跟踪pkg.test trace.out

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

在此输入图像描述 在此输入图像描述 在此输入图像描述