如何轻松分析 Go 程序 | 通过 Light Cone例如 Go 1.8 添加了互斥配置文件,因此您可以看到互斥争用。设置用于获取 Go 配置文件的网络服务器(使用 import _ "net/http/pprof" );运行处理内存配置文件的工具假定 // profile 根据您使用的是 profile.Profile 还是 cProfile.Profile,your_time_func 的返回值将被不同地解释:profile.Profile。your_time_func 应该返回一个数字,或者一个数字列表,其总和是当前时间(就像 os.times() 返回的一样)。如果函数返回单个时间数字,或 持续分析和 Go。我们有很多隐藏的细节为现有的 Go 启用 pprof 分析器... 恶意行为者可以开始发送长时间运行的分析查询,从而影响应用程序进程内的整体“意外” HTTP 服务器,这可能会引发问题添加该代码后,我们可以使用新的-cpuprofile 标志,然后运行 ​​go tool pprof 来解释配置文件。$ make havlak1.prof ./havlak1 -cpuprofile=havlak1.prof 循环数:76000(包括 1 个人工根节点) $ go tool pprof havlak1 havlak1.prof 欢迎来到 pprof!