为了账号安全,请及时绑定邮箱和手机立即绑定

在启用 pkg/profile 的情况下运行时如何获取样本?

在启用 pkg/profile 的情况下运行时如何获取样本?

Go
哔哔one 2023-04-04 14:42:43
我的主块中有以下内容:func main() {    defer profile.Start().Stop()    fmt.Println("running version", version, "built on", date)    fmt.Println()    cmd.Execute()    time.Sleep(2 * time.Second)}cmdcobra 子命令在哪里。我执行 go build,然后运行二进制文件。我可以看到它生成了一个pprof文件:2018/09/13 18:43:26 profile: cpu profiling enabled, /tmp/profile705487093/cpu.pprof... output deleted ...2018/09/13 18:43:31 profile: cpu profiling disabled, /tmp/profile705487093/cpu.pprof然后我试图分析它,使用:go tool pprof /root/code/debug/evented /tmp/profile705487093/cpu.pprof但是当 pprof 打开时,我看到了这个:File: eventedType: cpuTime: Sep 13, 2018 at 6:43pm (UTC)Duration: 5.49s, Total samples = 0如果有帮助,我正在运行go version go1.11 linux/amd64一个Ubuntu 16.04.5 LTS. 不确定它是否重要,但我正在尝试检查 DigitalOcean 液滴上的 pprof 输出。我做错了什么吗?谢谢!
查看完整描述

1 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

通过配置文件 pkg 的评论看了一点之后,我设法获得了一些样本,方法是:

runtime.SetCPUProfileRate(5000)

在呼叫defer profile.Start().Stop()线路之前。


查看完整回答
反对 回复 2023-04-04
  • 1 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信