更新(2019 年 1 月 24 日):
这个问题是 4 年前关于 Go 1.4 提出的(并且仍然有意见)。从那时起,使用 pprof 进行分析发生了巨大变化。
原问题:
我正在尝试分析我编写的基于 go martini 的服务器,我想分析单个请求,并获得函数的完整细分及其运行时持续时间。我尝试同时使用两者runtime/pprof,net/http/pprof但输出如下所示:
Total: 3 samples
1 33.3% 33.3% 1 33.3% ExternalCode
1 33.3% 66.7% 1 33.3% runtime.futex
1 33.3% 100.0% 2 66.7% syscall.Syscall
Web 视图也不是很有帮助。
我们定期分析另一个程序,输出似乎是我需要的:
20ms of 20ms total ( 100%)
flat flat% sum% cum cum%
10ms 50.00% 50.00% 10ms 50.00% runtime.duffcopy
10ms 50.00% 100% 10ms 50.00% runtime.fastrand1
0 0% 100% 20ms 100% main.func·004
0 0% 100% 20ms 100% main.pruneAlerts
0 0% 100% 20ms 100% runtime.memclr
我不知道差异来自哪里。
相关分类