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

golang profile with pprof,如何获得命中数而不是持续时间?

golang profile with pprof,如何获得命中数而不是持续时间?

Go
SMILET 2021-09-20 15:01:52
如何获得命中数,例如:(pprof) topTotal: 2525 samples     298  11.8%  11.8%      345  13.7% runtime.mapaccess1_fast64     268  10.6%  22.4%     2124  84.1% main.FindLoops不,持续时间如下:(pprof) top2220ms of 3080ms total (72.08%)Dropped 72 nodes (cum <= 15.40ms)Showing top 10 nodes out of 111 (cum >= 60ms)      flat  flat%   sum%        cum   cum%    1340ms 43.51% 43.51%     1410ms 45.78%  runtime.cgocall_errnoenv:我使用的是 golang1.4,添加以下代码。defer pprof.StopCPUProfile()f, err := os.Create("innercpu.pprof")if err != nil {    fmt.Println("Error: ", err)}pprof.StartCPUProfile(f)
查看完整描述

1 回答

?
森栏

TA贡献1810条经验 获得超5个赞

您可以使用go tool pprof -callgrind -output callgrind.out innercpu.pprof从收集的分析数据中生成 callgrind 数据。然后您可以使用qcachegrind/kcachegrind进行可视化。它将显示呼叫计数。


查看完整回答
反对 回复 2021-09-20
  • 1 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

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