从 Visual Studio 探查器中将 dotnet 计数器可视化

.NET 计数器工具允许你在 Visual Studio 探查器中随着时间将 dotnet 计数器可视化。

备注

.NET 计数器工具需要 Visual Studio 2019 版本 16.7 或更高版本,面向 .NET Core 3.0+ 和 .NET 5+。

若要更多地了解如何有效地使用 .NET 计数器工具,请参阅案例研究:隔离性能问题

安装

  1. 在 Visual Studio 中打开性能探查器(Alt + F2Debug -> Performance Profiler)。

  2. 选择“.NET 计数器”复选框

    已选择“计数器”工具 已选中计数器工具。

  3. 单击 “开始”按钮运行该工具。

有关如何优化工具性能的详细信息,请参阅 优化探查器设置

了解数据

当该工具最初收集数据时,你可以看到 dotnet 计数器的实时值。

.NET 计数器工具正在收集数据。

还可以通过选中计数器名称旁边的复选框来查看计数器的图形。 您可以同时显示多个计数器的图形。

完成应用测试和数据收集后,您可以停止收集,以便生成更详细的报表。 为此,请按“停止收集”按钮

报表加载后,应会看到一个与下面所示类似的最终报表。

.NET 计数器工具报表。

报告显示以下值:

  • 最小值 - 所选时间范围内该计数器的最小值。
  • 最大值 - 所选时间范围内该计数器的最大值。
  • 平均值 - 所选时间范围内该计数器的平均值。

可以通过右键单击列标题并选择标题来筛选或添加表中的列。

.NET 计数器工具列。

还可以通过选中计数器旁边的复选框来查看详细报表中的图形。 默认情况下,表中的数据表示所收集跟踪的整个持续时间的值。 若要将数据筛选到特定的时间范围,请单击并拖动图形。

.NET 计数器工具时间筛选。

该表将更新图形中所选时间的相关值。 使用“清除选定内容”按钮,将所选时间范围重置为整个跟踪

查看 .NET 计量计数器数据

从 Visual Studio 2022 版本 17.8 开始,.NET 计数器工具支持与 .NET Meter API 的集成,增加了对检测选项(如 CounterObservableCounter)的支持。

Counter 用来监测随着时间变化的数值,调用方使用 Counter.Add来报告更新。 相比之下,ObservableCounter 类似于 Counter,但调用方负责跟踪总值。 .NET 计数器工具报告总计的更改率。

有关详细信息,请参阅 创建指标

查看 .NET 计量直方图数据

从 Visual Studio 2022 版本 17.12 预览版 2 开始,.NET 计数器工具支持 .NET Meter 直方图集成。

.NET 计量直方图允许你识别和分析通过 .NET 直方图工具生成并使用 CreateHistogram记录的直方图数据。 在使用直方图仪器记录数据时,结果会被可视化,从而清晰地表示数据分布。

实时直方图数据与计数器的其余部分一起显示在 Meter 实例下。

若要打开直方图,请选择计量器实例的仪器名称,如这里所示。

.NET 计数器计量直方图数据。

在前面的示例中,该工具显示记录度量的第 50 位、第 90 位和第 95 百分位的数据。