首页 >后端开发 >Golang >尽管应用程序性能准确,但为什么我的 Go `pprof` 输出显示空白结果?

尽管应用程序性能准确,但为什么我的 Go `pprof` 输出显示空白结果?

Susan Sarandon
Susan Sarandon原创
2024-10-30 09:26:27972浏览

Why is my Go `pprof` output showing blank results despite accurate application performance?

Go 工具 Pprof 输出不一致

查询围绕着 Go 中提供分析功能的“pprof”工具的莫名其妙的输出。尽管过去性能准确,但该工具最近开始生成不确定的结果。

无论正在分析的应用程序是什么,即使是具有大量函数调用的相对复杂的应用程序,“pprof”工具也会返回乏味的调用图和贫瘠的结果,尽管应用程序本身运行正常。

即使升级到 MacOS Yosemite 和 El Capitan 后,问题仍然存在。 Go v1.5.1 使用包“github.com/davecheney/profile”。

为了生成配置文件,代码在“profile.Start”和“profile.Stop”的开头包含“profile.Start”和“profile.Stop”。 main' 函数,然后是二进制文件的构建和运行。但是,生成的输出类似于以下内容:

(pprof) top
269.97kB of 269.97kB total (  100%)
      flat  flat%   sum%        cum   cum%
  269.97kB   100%   100%   269.97kB   100%  
(pprof) 

提供的解决方案通过强调“pprof”调用中不存在二进制文件来解决此差异。正确的命令结构是:

go tool pprof ./orig /path/to/profile.pprof

此更正可确保“pprof”以编译的二进制文件为目标,使其能够提供所需的分析信息。

以上是尽管应用程序性能准确,但为什么我的 Go `pprof` 输出显示空白结果?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn