阅读分析器快照
在 分析器 工具窗口( )中,收集的数据显示在多个标签页上: 火焰图、 调用树 和 方法列表。
浏览快照
您可以在保持聚焦于特定方法的同时,在标签页之间切换。 右键点击所需的方法,并选择您希望打开的其他视图。

对于任何标签页上的方法,您可以打开 合并被调用者和 回溯树。 右键点击方法,然后分别选择 方法合并被调用方 或 方法回溯。
火焰图
火焰图通过矩形可视化应用程序调用树,这些矩形代表调用栈帧,按宽度排序。 占用更多资源的帧比其他帧更宽,并且放置在左侧。
帧类型 | 浅色主题 | 深色主题 |
|---|---|---|
项目代码 | 黄色 | 黄色 |
库代码 | 紫色 | 灰色 |
本机代码 | 蓝色 | 蓝色 |

获取呼叫详情
将鼠标悬停在块上以查看包含框架详细信息的工具提示。 工具提示显示了整个快照中的时间占比以及框架直接父级中的时间占比。
缩放图表
请使用工具栏上的
和
按钮或者滚轮来缩放图表。
要专注于特定方法,请双击图表上的相应块。
要还原图形的原始大小,请点击工具栏上的 1:1。
搜索图表
如果您想在图上定位特定方法,请开始输入其名称或点击
并在搜索栏中输入名称。
图表高亮显示所有与您的搜索请求匹配的方法名称的块。
使用
和
快速导航搜索结果之间。 使用工具栏上的按钮,您还可以搜索整个图或特定子树,并在发现结果后立即导航到结果。

捕获图表
您可以将图表与快照中的其他数据分开捕获和导出。
点击
并选择 复制到剪贴板 ,或者点击 保存 将图表以 .png 格式导出为图像。
您可以在火焰图上呈现两个快照之间的差异。
与基线比较
调用树
调用树 选项卡以树状结构组织采样数据。

对于每个方法,该选项卡显示以下信息:
总执行时间或父级执行时间中的占比
聚合执行时间
默认情况下,百分比是相对于总执行时间的。 您可以选择查看相对于父框架的数字。
在总计和父项之间切换百分比
点击
并选择 显示总时间的百分比 或 显示父项的百分比。
折叠递归调用
涉及递归的调用栈可能难以分析。 在常规 调用树 视图中,递归调用按调用顺序显示——一个接一个,可能会导致几乎无限的堆栈滚动。
GoLand 在调用堆栈的更高位置调用相同方法时检测递归。 在这种情况下,子树将从调用树中取出,然后附加回该方法的第一次调用。 这样,您可以绕过递归,专注于消耗大部分资源和调用的方法。
折叠递归调用使您能够看到在这些调用中消耗的总时间,就像没有递归一样。

折叠的递归调用在 图标上 调用树 标签中标记。 点击它以在单独的选项卡中打开递归调用树。 当鼠标悬停在递归图标上时,您可以在工具提示中预览合并调用的数量。
若如此:专注于特定方法
GoLand 允许您检查 调用树 中的特定节点和子树:您可以排除特定的方法,或者反过来,只关注您目前感兴趣的节点。
右键点击 调用树 选项卡上的必要节点,然后选择以下选项之一,以在专用选项卡中打开结果:
聚焦于子树 :仅显示选中的方法调用。 父方法示例计数器仅显示在选定子树中花费的时间。
聚焦于调用 :显示所选方法及其调用方法。 启用此选项后,每个帧仅显示在所选方法中花费的时间。
排除子树 :忽略所选的方法调用。
排除调用 :忽略对选定方法的所有调用。

方法列表
方法列表 会收集配置文件数据中的所有方法,并按累积样本时间对它们进行排序。 此列表中的每个项目都有几个视图:
反向跟踪 显示调用者的层次结构。 使用此视图追踪哪些方法调用了所选方法。
合并的被调用方 是调用树,汇总了调用层次结构中的方法。
被调用方列表 是汇总调用层次结构中所有方法的方法列表。

