当前位置: 首页 > 面试题库 >

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

干浩然
2023-03-14
问题内容

我的主要内容如下:

func main() {
    defer profile.Start().Stop()

    fmt.Println("running version", version, "built on", date)
    fmt.Println()
    cmd.Execute()

    time.Sleep(2 * time.Second)
}

cmd眼镜蛇子命令在哪里。我执行构建,然后运行二进制文件。我可以看到它生成了一个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: evented
Type: cpu
Time: 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输出。

我做错什么了吗?谢谢!


问题答案:

在浏览了概要文件pkg的注释后,我设法通过以下操作获得了一些样本:

runtime.SetCPUProfileRate(5000)

拨打电话之前defer profile.Start().Stop()



 类似资料:
  • 问题内容: 我用的是需要挂钩的BabelJS(原名6to5)与运行节点的应用程序es6features: 我打电话来运行我的 app.js6 。我需要安装BabelJS并为我想使用es6features的每个项目提供一个 run.js。 我希望打个电话。如何独立实现该系统(Unix和Windows)? 问题答案: 将and (又名ES6)依赖项添加到应用程序的package.json文件中,并定义

  • 在我运行雪豹的旧Mac电脑上,我可以在spotlight中输入“ios”,它就可以自己启动iPhone/iPad模拟器。 从那以后,我不得不买一台运行狮子的新机器。我已经安装了Xcode for Lion,我已经安装了首选项面板中的开发者工具选项。 但是“ios”选项已经不存在了:(现在唯一的方法似乎是运行Xcode,创建一个空项目,然后使用run选项启动emulator。 我已经搜索了又搜索了I

  • 我正在开发一个spring启动应用程序并编写一些junit测试。 但我发现,当我运行任何测试时,tomcat也会启动,这使得这些测试非常缓慢,浪费了很多时间。 当我开发一个SpringMvc应用程序时,junit测试可以在不启动tomcat的情况下运行,这节省了很多时间。 所以,我想问它在那里无论如何要运行启动tomcat的springstart测试?

  • 我有一个bash文件,从终端执行时可以正常工作。 注意:tensorflow\u p36是一个内置的conda环境,不需要从特定的目录调用。它可以从任何目录激活。我认为这是亚马逊深度学习AMIs的一个特点。 如果我用sudo运行这个bash脚本,它不会激活虚拟环境,并且在默认的python环境中工作。python文件只能在该虚拟环境中运行。 我在这里尝试了所有3个替代方案(rc.local、. c

  • 我对这个话题很陌生。我已经用PKCS#12数字证书签署了一份PDF文档。在Adobe Reader中,当我打开签名面板时,我可以看到“签名已启用LTV”。读了这篇文章,我无法真正理解是否需要应用时间戳。如果没有,我如何验证应用签名的时间?或者我应该添加什么样的验证信息?

  • 问题内容: 我是Node的新手,并创建了一个其中包含一些async / await语法的应用程序,如下所示: 它在我的机器上可以正常工作,但是当我部署到Heroku时,由于不支持语法而出现错误: 使Heroku支持此语法的最简单方法是什么? 问题答案: 指定要在package.json中使用的节点版本:https : //devcenter.heroku.com/articles/nodejs-s