GoLand 2025.2 Help

读取分析器快照

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

浏览快照

您可以在保持聚焦于某个方法的同时在选项卡之间跳转。右键单击所需的方法,并选择要在其中打开此方法的其他视图。 右键单击所需的方法,并选择要在其中打开此方法的其他视图。

在 Profiler 工具窗口中在选项卡之间跳转

对于任何选项卡中的方法,均可打开 Merged CalleesBack Traces 树。 右键单击该方法,然后分别选择 方法合并被调用方方法回溯

火焰图

火焰图使用矩形直观表示应用调用树,这些矩形代表调用堆栈帧,并按宽度排序。 资源消耗较高的帧比其他帧更宽,并显示在左侧。

帧类型

浅色主题

深色主题

项目代码

黄色

黄色

库代码

紫色

灰色

原生代码

蓝色

蓝色

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

获取调用详细信息

  • 将鼠标悬停在块上可查看帧详细信息的工具提示。 工具提示显示该帧在整个快照以及父帧中的时间占比。

缩放图表

  • 使用火焰图工具栏上的 放大按钮缩小按钮 按钮,或使用滚轮缩放图表。

  • 若要聚焦于特定方法,请双击图表中的相应块。

  • 若要恢复图表的原始大小,请点击工具栏上的 1:1

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

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

    使用 上一个匹配项下一个匹配项 快速在搜索结果之间导航。 也可以使用工具栏上的按钮搜索整个图表或特定子树,并在找到结果后立即导航至对应位置。

在“火焰图”选项卡中使用搜索功能

捕获图表

您可以单独捕获并导出图表,而不包括快照中的其他数据。

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

您可以在火焰图中可视化两个快照之间的差异。

与基线比较

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

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

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

    如果看到帧的某部分为绿色,则表示该方法在本次分析运行中执行速度变快。 红色表示相应方法在本次分析运行中变慢。

    与基线比较

调用树

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

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

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

  • 在总执行时间或父调用执行时间中的占比

  • 累计执行时间

  • 递归调用

默认情况下,所显示的百分比基于总执行时间。您可以选择基于父帧查看数值。 默认情况下,百分比是相对于总执行时间的。您可以选择查看相对于父帧的数值。

在总量与上一级之间切换百分比显示

  • 单击 显示设置按钮 ,然后选择 显示总时间的百分比显示父项的百分比

折叠递归调用

涉及递归的调用栈可能难以分析。 在常规 调用树 视图中,递归调用将按照调用顺序依次显示,这可能导致几乎无限的调用栈滚动。

GoLand 会在调用栈中较高级别调用相同方法时检测到递归。 在此情况下,该子树将从调用树中移除,并重新附加到该方法的首次调用位置。 通过这种方式,您可以绕过递归,专注于消耗最多资源的方法及其所进行的调用。

折叠递归调用后,您可以将这些调用所耗费的总时间视为没有递归的情形。

折叠递归调用按钮

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

展开折叠的递归调用

假设分析:聚焦特定方法

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

调用树 选项卡中右键单击所需节点,然后选择以下选项之一以在专用选项卡中打开结果:

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

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

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

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

使用“假设分析”功能

方法列表

方法列表 会收集分析数据中的所有方法,并按累积采样时间进行排序。 此列表中的每个项都有多个视图:

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

  • 合并的被调用方 是按照调用层级汇总方法的调用树。

  • 被调用方列表 是按照调用层级汇总方法的方法列表。

分析器结果中的方法列表选项卡
最后修改日期: 2025年 9月 26日