You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用dotnet-trace采集可在PerfView中查看的BLOCKED_TIME指标

dotnet-trace采集BLOCKED_TIME指标操作方案

正确采集命令

dotnet-trace collect -p <目标进程ID> --profile cpu-sampling --providers Microsoft-Windows-DotNETRuntime:0x40008001:5,Microsoft-Windows-Kernel-Process:0x10:4,Microsoft-Windows-Kernel-Thread:0x40:4

参数说明

  • <目标进程ID>:替换为你运行的.NET 5控制台应用的进程ID,可通过任务管理器详情页或者dotnet-trace ps命令查询
  • --profile cpu-sampling:保留常规CPU采样数据,和PerfView原生采集的数据维度保持一致
  • Microsoft-Windows-DotNETRuntime:0x40008001:5:开启.NET运行时线程、线程池相关事件,为BLOCKED_TIME指标的统计提供运行时上下文数据
  • Microsoft-Windows-Kernel-Process:0x10:4、Microsoft-Windows-Kernel-Thread:0x40:4:开启内核层上下文切换事件,这是计算线程阻塞时间的核心数据源,PerfView的/threadTime参数本质也是开启这两类内核事件采集

注意事项

  • 执行dotnet-trace命令的终端必须拥有管理员权限,否则无法捕获内核层事件,会导致最终采集的文件没有BLOCKED_TIME数据
  • 建议先将dotnet-trace升级到最新稳定版,避免版本兼容问题,升级命令为dotnet tool update --global dotnet-trace
  • 采集得到的.nettrace文件可以直接拖入PerfView打开,在Thread Time Stacks标签页即可查看和PerfView原生采集一致的BLOCKED_TIME指标

内容的提问来源于stack exchange,提问作者Kiryl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 17:45:06