阻塞分析器
阻塞分析器 显示了 goroutine 未运行(等待)的时间段。 如果您需要查找未缓冲或已满的通道、 sync.Mutex 锁或其他瓶颈,阻塞分析器可能会很有用。
运行阻塞分析
请打开 _test.go 文件。
在您想要分析的函数或方法附近,点击位于边距区域的 运行应用程序 图标
并选择 使用 'Blocking Profiler' 运行 <configuration_name>。

结果解释
- 火焰图
火焰图 选项卡显示了函数调用以及 goroutine 未运行(等待)的时间量。 每个块表示堆栈中的一个函数。 Y 轴表示堆栈深度,从下到上。 X 轴显示堆栈分析,按每个函数的延迟次数(选择 争用 时)或等待状态所花费的时间(选择 延迟 时)递增排序。
在 火焰图 选项卡中,您可以将鼠标悬停在任意块上以查看详细信息。

, where
9:每个区域的延迟次数。75.00% of parent:属于同一父调用的不同过程之间的百分比。37.50% of all:该过程及其所有被调用者的延迟百分比。
- 调用树
调用树 选项卡显示了调用树,其中包含每个函数的延迟次数(选择 争用 时)或等待状态所花费的时间(选择 延迟 时)。 它按递减顺序组织数据。 要配置和筛选 调用树 视图,请使用 表示设置 按钮
。

- 方法列表
方法列表 选项卡显示了按争用次数排序的方法列表。 反向跟踪 选项卡显示了所选方法被调用的位置。 合并的被调用方 选项卡显示了从所选方法开始的调用轨迹。
最后修改日期: 2025年 6月 30日