如何识别 Go 程序 CPU 使用热点?
换句话说...
哪些工具/方法可用于分析 Go 程序 CPU 使用情况?
检查pprof包以编程方式获取分析数据。
另一种选择是自动分析包测试:
$ go help testflag
...
-cpuprofile cpu.out
Write a CPU profile to the specified file before exiting.
可以使用以下方法检查分析数据:
$ go tool pprof your-binary your-profiling-data
有关 pprof 工具的许多选项的帮助,请在不带参数的情况下运行它:
$ go tool pprof
有关 pprof 的许多命令的帮助,请输入“帮助”:
(pprof) help
我建议在浏览器中使用 svg 选项。它是交互式的,并且强调了瓶颈路径以便于检测。使用“list”命令可以获得详细信息,该命令显示函数/方法的源代码以及每行数据。
推荐阅读:分析 Go 程序