如何获得命中率,例如:
(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,添加以下代码。
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进行可视化。它会显示通话计数。
go tool pprof -callgrind -output callgrind.out innercpu.pprof