GoLand 2025.1 Help

阻塞分析器

阻塞分析器 显示了 goroutine 未运行(等待)的时间段。 如果您需要查找未缓冲或已满的通道、 sync.Mutex 锁或其他瓶颈,阻塞分析器可能会很有用。

运行阻塞分析

  1. 请打开 _test.go 文件。

  2. 在您想要分析的函数或方法附近,点击位于边距区域的 运行应用程序 图标 运行应用程序图标 并选择 使用 'Blocking Profiler' 运行 <configuration_name>

运行阻塞分析

结果解释

火焰图

火焰图 选项卡显示了函数调用以及 goroutine 未运行(等待)的时间量。 每个块表示堆栈中的一个函数。 Y 轴表示堆栈深度,从下到上。 X 轴显示堆栈分析,按每个函数的延迟次数(选择 争用 时)或等待状态所花费的时间(选择 延迟 时)递增排序。

火焰图 选项卡中,您可以将鼠标悬停在任意块上以查看详细信息。

内存分析详情

, where

  • 9 :每个区域的延迟次数。

  • 75.00% of parent :属于同一父调用的不同过程之间的百分比。

  • 37.50% of all :该过程及其所有被调用者的延迟百分比。

调用树

调用树 选项卡显示了调用树,其中包含每个函数的延迟次数(选择 争用 时)或等待状态所花费的时间(选择 延迟 时)。 它按递减顺序组织数据。 要配置和筛选 调用树 视图,请使用 表示设置 按钮 “显示设置”按钮

调用树的演示设置
方法列表

方法列表 选项卡显示了按争用次数排序的方法列表。 反向跟踪 选项卡显示了所选方法被调用的位置。 合并的被调用方 选项卡显示了从所选方法开始的调用轨迹。

最后修改日期: 2025年 6月 30日