【GoLand教程】GoLand CPU 分析器

您只能为 Go 测试和基准测试运行 CPU 分析器
CPU Profiler显示哪些函数消耗了多少 CPU 时间 此信息可以让您更好地了解您的应用程序是如何执行的,以及如何准确地分配资源。
分析完成后,分析器将在报告中可视化输出数据。
探查器配置
GoLand 具有两种预定义的 Async Profiler 配置:CPU 分析器和内存分配分析器,您可以在Settings/Preferences |中找到它们。构建、执行、部署 | Java 探查器。
这些配置经过调整以提供最准确的结果,这就是它们不需要任何修改的原因。
选择分析器配置
- 在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,选择Build、Execution、Deployment | 去探查器。
- 选择一种预定义的 CPU 或内存分析配置,或单击 创建一个新配置
。
- 应用更改并关闭对话框。
运行分析
运行 CPU 分析
- 打开_test.go文件。
- 在要分析的函数或方法附近,单击装订线区域中的Run Application图标,然后选择Run <configuration_name> with 'CPU Profiler'。
阅读分析报告
在Profiler工具窗口中,收集的数据显示在三个选项卡上:火焰图、调用树和方法列表。左侧部分列出了应用程序线程;通过单击每个线程,您可以了解更多详细信息。
火焰图
Flame Graph选项卡显示函数调用和每个调用的执行时间百分比。每个块代表堆栈中的一个函数(堆栈帧)。在 Y 轴上,有一个自下而上的堆栈深度。X 轴显示从 CPU 消耗最多的函数到消耗最少的函数排序的堆栈配置文件。
当您阅读火焰图时,请关注最宽的块。这些块是配置文件中出现最多的功能。
将鼠标悬停在任何块上以查看详细信息:
调用树
Call Tree选项卡表示有关在分析期间采样的程序调用堆栈的信息:
- 方法名称
- 总采样时间的百分比(可以切换到父调用视图)
- 总样本数
- 过滤的呼叫数
百分比后面的可选数字表示经过过滤的调用序列。单击它以展开此序列。过滤规则可以在设置中配置。
要配置和过滤呼叫树视图,请使用演示设置按钮 ( )。
方法列表
方法列表收集分析数据中的所有方法,并按累积采样时间对其进行排序。此列表中的每个项目都有一个 Back Trace 树和一个 Merge Callees 树。
Back Traces选项卡显示调用者的层次结构。使用此视图来跟踪哪些方法调用了选定的方法。Merge Callees 尝试汇总所选方法调用的所有方法。