CPU 分析器
CPU Profiler 显示每个函数占用的 CPU 时间比例。此信息可帮助您更好地了解应用的执行方式以及资源具体的分配方式。
分析完成后,分析器会以报表形式可视化展示输出数据。
分析器配置
GoLand 提供两种预定义的 Async Profiler 配置:CPU 分析器和内存分配分析器,您可以在 中找到。
这些配置已经被调整为提供最精确的结果,因此无需进行任何修改。 但是,如果您仍需更改设置,请参阅 Async Profiler on GitHub 了解更多信息。
选择分析器配置
在 设置 对话框(Ctrl+Alt+S )中,选择 。
选择一个预定义的 CPU 或内存分析配置,或点击
创建新配置。
应用更改并关闭对话框。
运行分析
运行 CPU 分析
打开 _test.go 文件。
在您想要分析的函数或方法附近,点击边栏区域中的 运行应用程序 图标
,然后选择 使用 'CPU 分析器' 运行 <configuration_name>。

阅读分析报告
在 分析器 工具窗口中,收集的数据展示于三个标签页: 火焰图、 调用树 和 方法列表。 左侧显示应用线程;点击每个线程可以查看更多详情。
火焰图
火焰图 标签页显示函数调用以及每个调用所占用的百分比时间。 每个代码块都表示栈中的一个函数(一个栈帧)。 Y 轴表示从下到上的栈深度。 X 轴显示按 CPU 占用从高到低排序的栈配置信息。
阅读火焰图时,请聚焦于最宽的代码块。 这些代码块表示在分析中出现频率最高的函数。
将鼠标悬停于任一代码块以查看详情:

调用树
调用树 标签页展示了分析过程中采样得到的程序调用栈信息:
方法名
样本总时间的百分比(可切换为上层调用视图)
样本总数
筛选后的调用数
百分比之后可选的数字表示筛选后的调用序列。 点击该数字可展开该调用序列。 筛选规则可在设置中进行配置。
要配置和筛选调用树视图,请使用 表示设置 按钮()。

方法列表
方法列表 会收集分析数据中的所有方法,并按累计样本时间进行排序。 该列表中的每个条目都包含一个反向调用树和一个合并被调用方法树。
反向跟踪 标签页展示调用者的层级结构。 使用该视图可追踪调用所选方法的方法。 合并被调用方法尝试汇总所有被该方法调用的方法。
