GoLand 2025.3 Help

阅读分析器快照

分析器 工具窗口(查看 | 工具窗口 | Profiler )中,收集的数据显示在多个标签页上: 火焰图调用树方法列表

浏览快照

您可以在保持聚焦于特定方法的同时,在标签页之间切换。 右键点击所需的方法,并选择您希望打开的其他视图。

在 Profiler 工具窗口中跳转标签

对于任何标签页上的方法,您可以打开 合并被调用者回溯树。 右键点击方法,然后分别选择 方法合并被调用方方法回溯

火焰图

火焰图通过矩形可视化应用程序调用树,这些矩形代表调用栈帧,按宽度排序。 占用更多资源的帧比其他帧更宽,并且放置在左侧。

帧类型

浅色主题

深色主题

项目代码

黄色

黄色

库代码

紫色

灰色

本机代码

蓝色

蓝色

火焰图中显示的块详细信息

获取呼叫详情

  • 将鼠标悬停在块上以查看包含框架详细信息的工具提示。 工具提示显示了整个快照中的时间占比以及框架直接父级中的时间占比。

缩放图表

  • 请使用工具栏上的 “缩放”按钮缩小按钮 按钮或者滚轮来缩放图表。

  • 要专注于特定方法,请双击图表上的相应块。

  • 要还原图形的原始大小,请点击工具栏上的 1:1

  • 如果您想在图上定位特定方法,请开始输入其名称或点击 显示搜索工具栏 并在搜索栏中输入名称。

    图表高亮显示所有与您的搜索请求匹配的方法名称的块。

    使用 上一个匹配下一个出现 快速导航搜索结果之间。 使用工具栏上的按钮,您还可以搜索整个图或特定子树,并在发现结果后立即导航到结果。

在 Flame Graph 选项卡中使用搜索

捕获图表

您可以将图表与快照中的其他数据分开捕获和导出。

  • 点击 捕获图像 并选择 复制到剪贴板 ,或者点击 保存 将图表以 .png 格式导出为图像。

您可以在火焰图上呈现两个快照之间的差异。

与基线比较

  1. 打开两个快照。 要打开快照,您可以运行分析器两次或转到 运行 | 打开性能分析器快照 并在此处选择快照。

  2. 点击 与基线比较… 按钮并选择您要比较的快照。

    一个单独的差异标签页将打开,显示比较结果,结合两个火焰图并以红色和绿色显示差异。

    如果您看到帧的某部分是绿色的,这意味着在此分析器运行期间,相应的方法变得更快。 红色表示相应的方法变得更慢。

    与基线比较

调用树

调用树 选项卡以树状结构组织采样数据。

分析器结果中的调用树选项卡

对于每个方法,该选项卡显示以下信息:

  • 总执行时间或父级执行时间中的占比

  • 聚合执行时间

  • 递归调用

默认情况下,百分比是相对于总执行时间的。 您可以选择查看相对于父框架的数字。

在总计和父项之间切换百分比

  • 点击 Presentation Settings 按钮 并选择 显示总时间的百分比显示父项的百分比

折叠递归调用

涉及递归的调用栈可能难以分析。 在常规 调用树 视图中,递归调用按调用顺序显示——一个接一个,可能会导致几乎无限的堆栈滚动。

GoLand 在调用堆栈的更高位置调用相同方法时检测递归。 在这种情况下,子树将从调用树中取出,然后附加回该方法的第一次调用。 这样,您可以绕过递归,专注于消耗大部分资源和调用的方法。

折叠递归调用使您能够看到在这些调用中消耗的总时间,就像没有递归一样。

折叠递归调用按钮

折叠的递归调用在 递归图标 图标上 调用树 标签中标记。 点击它以在单独的选项卡中打开递归调用树。 当鼠标悬停在递归图标上时,您可以在工具提示中预览合并调用的数量。

若如此:专注于特定方法

GoLand 允许您检查 调用树 中的特定节点和子树:您可以排除特定的方法,或者反过来,只关注您目前感兴趣的节点。

右键点击 调用树 选项卡上的必要节点,然后选择以下选项之一,以在专用选项卡中打开结果:

  • 聚焦于子树 :仅显示选中的方法调用。 父方法示例计数器仅显示在选定子树中花费的时间。

  • 聚焦于调用 :显示所选方法及其调用方法。 启用此选项后,每个帧仅显示在所选方法中花费的时间。

  • 排除子树 :忽略所选的方法调用。

  • 排除调用 :忽略对选定方法的所有调用。

使用假设功能

方法列表

方法列表 会收集配置文件数据中的所有方法,并按累积样本时间对它们进行排序。 此列表中的每个项目都有几个视图:

  • 反向跟踪 显示调用者的层次结构。 使用此视图追踪哪些方法调用了所选方法。

  • 合并的被调用方 是调用树,汇总了调用层次结构中的方法。

  • 被调用方列表 是汇总调用层次结构中所有方法的方法列表。

分析结果中的方法列表标签
最后修改日期: 2025年 12月 5日