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

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

,其中
9:每个区域的延迟次数。占父级的 75.00%:属于同一父调用的不同过程之间的百分比。占全部的 37.50%:该过程及其所有被调用者发生延迟的百分比。
- 调用树
调用树 选项卡显示调用树,按每个函数的延迟次数(选择了 争用 )或处于等待状态的时间(选择了 延迟 )排列。 它将数据按递减顺序排列。 要配置并筛选 调用树 视图,请使用 表示设置 按钮
。

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