【问题标题】:The go 1.5 trace commandgo 1.5 跟踪命令
【发布时间】:2015-11-14 20:50:37
【问题描述】:

Go 1.5 发行说明说,

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

这真的很令人兴奋,我想了解更多。但是它在https://golang.org/cmd/trace/ 的官方文档真的很枯燥。

发现Rob Pike complained about it,要求“在1.5发布后不久,应该有一篇关于该功能的博客文章。”

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

谢谢

【问题讨论】:

  • 问题是什么?

标签: graph go trace demo


【解决方案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. 构建程序

    开始构建

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

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

方法二

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

    去测试-trace trace.out

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

    去工具跟踪 pkg.test trace.out

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多