本文介绍了使用pprof的golang配置文件,如何获取点击计数而不是持续时间?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何获得点击数,例如:
how to get hit count like:
(pprof) top
Total: 2525 samples
298 11.8% 11.8% 345 13.7% runtime.mapaccess1_fast64
268 10.6% 22.4% 2124 84.1% main.FindLoops
不是,持续时间如下:
(pprof) top
2220ms 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_errno
env:我使用的是golang1.4,添加以下代码.
env: I using golang1.4, add below codes.
defer pprof.StopCPUProfile()
f, err := os.Create("innercpu.pprof")
if err != nil {
fmt.Println("Error: ", err)
}
pprof.StartCPUProfile(f)
推荐答案
您可以使用go tool pprof -callgrind -output callgrind.out innercpu.pprof
从收集的性能分析数据中生成callgrind数据.然后可以使用 qcachegrind/kcachegrind 进行可视化.它会显示呼叫计数.
You can use go tool pprof -callgrind -output callgrind.out innercpu.pprof
to generate callgrind data out of your collected profiling data. Which you can then visualise with qcachegrind/kcachegrind. It'll display call counts.
这篇关于使用pprof的golang配置文件,如何获取点击计数而不是持续时间?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!