JetBrains Rider 2025.2 Help

监测

JetBrains Rider 提供集成的监视工具,可实时跟踪应用程序性能并分析运行时行为。 您可以查看 CPU 使用率、内存消耗、垃圾回收活动、环境变量、计数器以及指标。 在 Windows 上,该工具还可在后台收集详细的性能数据,并使用集成的 dotTrace Profiler进行分析。

默认情况下,当您运行或调试项目时,监视将在 监测 工具窗口中自动启动。

Windows 操作系统中的监视工具窗口

支持的操作系统和应用程序

操作系统:

  • Windows — 提供完整功能,包括后台分析、性能问题自动检测、时间范围分析等 *

  • Linux 和 macOS — 仅支持实时数据。 后台分析和自动检测性能问题 不受支持

应用程序:

  • .NET Core 3.0 及更高版本,.NET 5.0 及更高版本

  • .NET Framework **

  • Mono ***

  • Unity ***

  • C++ ***

  • Unreal Engine ***

性能选项卡

性能 选项卡通过图表展现应用程序的运行时行为。 在 Windows 上,还会提供检测到的性能问题列表,并可通过集成的 dotTrace Profiler进行详细分析(需要 dotUltimate 许可)。

图表

监视图表

图表 选项卡显示应用程序的 CPU 和内存使用情况。 如果将鼠标悬停在图表上,您可以查看数据点的详细信息。

  • CPU 图表显示应用程序的 CPU 使用率以及 UI 冻结性能热点 问题被检测到的时间区间。

  • 垃圾回收 图表显示应用程序中的垃圾回收(GC)事件以及 高垃圾回收活动 问题被检测到的时间区间。

  • 内存 图表显示应用程序的内存使用情况。

检测到的问题

监测. 检测到的问题

在 Windows 上,监视工具可自动检测应用程序中如下问题:

  • 性能热点 — 某个时间区间中,一个或多个用户方法消耗了总执行时间的很大一部分。

  • UI 冻结 — 某个时间区间中,界面无响应。 当应用程序在 200 毫秒以上没有处理窗口消息,或处理单条窗口消息耗时超过 200 毫秒时,将出现此情况。

  • 高垃圾回收活动 — 某个时间区间中,有超过 30% 的总执行时间用于垃圾回收。 这可能表示应用程序存在内存压力或内存分配过多。

您可以使用集成的 dotTrace Profiler对检测到的问题进行详细分析(见下文)。 如需禁用某类问题的自动检测,您可以在 设置 | 构建、执行、部署 | 监控 | 检查 中进行设置。

后台分析(Windows)

在 Windows 上,JetBrains Rider 在运行或调试会话期间使用 ETW CPU 采样,在后台收集详细性能数据。 此过程类似于 dotTrace的时间线分析,但会自动运行并具有最小开销。 收集的数据包括:

  • 包含方法执行时间的堆栈跟踪

  • 方法活动的时间线

  • 如分配或垃圾回收等运行时事件

后台分析通常只会对应用程序性能产生 1–2% 的影响。 在极端情况下,开销可能高达 10%。 如应用程序性能下降,您可以在 ETW CPU 采样 中取消选中 设置 | 构建、执行、部署 | 监控 复选框。

您可以使用集成的 dotTrace Profiler对性能数据进行分析(见下文)。 请注意,分析数据需要 dotUltimate 许可

检测到的问题 面板(例如性能热点、UI 冻结)也依赖于此后台分析数据。

分析问题

您可以使用集成的 dotTrace Profiler对检测到的问题进行详细分析(需要 dotUltimate 许可)。

  1. 双击列表中的问题,或右键点击并选择 分析问题

  2. 相应的时间范围将在 dotTrace 工具窗口中打开,并显示调用树及事件数据。 了解如何使用 dotTrace 分析数据

分析时间区间

您可以从图表中选择任意时间区间并进行分析。

  1. 点击图表并选择您想要分析的时间区间。

  2. 点击 分析区间分析所选时间范围 按钮,该按钮位于 图表 选项卡顶部。

  3. 相应的时间范围将在 dotTrace 工具窗口中打开,并显示调用树及事件数据。 了解如何使用 dotTrace 分析数据

分析所选范围

分析完整时间范围

您可以分析在运行或调试会话期间收集的所有性能数据。

  1. 单击 分析所有性能数据分析完整时间范围 按钮,该按钮位于 图表 选项卡顶部。

  2. dotTrace 工具窗口将打开,并显示整个运行或调试会话的调用树和事件数据。 了解如何使用 dotTrace 分析数据

计数器选项卡

计数器 选项卡显示所有已启用的计数器和指标提供程序的计数器及其值。

  • 计数器

    .NET 计数器是获取应用程序性能数据的一种方式。 大多数 .NET 系统程序集提供其自己的计数器集。 例如,基础 System.Runtime 程序集包括 CPU 和内存使用情况、特定堆中的垃圾回收次数、锁争用计数、线程池队列长度等计数器。 Microsoft.AspNetCore.Hosting 提供的计数器可用于监控服务器应用程序,例如请求速率、失败请求数量等。 此外,您的应用程序可以通过 EventCounters 提供自定义计数器。

  • 指标

    指标 是一种更现代的收集应用程序数据的方式,支持 OpenTelemetry 等各种第三方提供程序。 .NET 程序集也提供其自己的指标集。 例如, Microsoft.AspNetCore.Hosting 提供了请求持续时间和当前活动请求数量的指标。 与计数器一样,您的应用程序也可以提供自定义指标。

要添加或移除提供程序,请转到 设置 | 构建、执行、部署 | 监控 | 计数器与指标 ,并在 计数器提供程序指标提供程序 中配置提供程序列表。 添加提供程序时:

  • 要从提供程序中添加所有计数器/指标,请指定其名称,例如: MyProvider

  • 要从提供程序中添加特定的计数器/指标,请按照以下格式指定提供程序和计数器/指标名称: ProviderName[CounterName1,CounterName2]。 例如, OpenTelemetry.Instrumentation.Runtime[process.runtime.dotnet.gc.collections]

要定义计数器和指标值的更新频率(以秒为单位),请在 设置 | 构建、执行、部署 | 监控 | 计数器与指标 中使用 刷新间隔 参数。

环境选项卡

环境 选项卡显示您的应用程序的环境变量和系统属性。

监控模式

默认情况下,当您运行或调试项目时,监控会自动启动。 您可以通过 启用监测 选择器,在 监测 工具窗口设置中更改此行为:

  • 调试或运行时 – 当您运行或调试项目时,监控会自动启动。

  • 调试时 – 仅当您调试项目时,监控会自动启动。

  • 从未 – 监控已禁用。

获取分析数据

有时,监控工具收集的数据不足以分析您的应用程序性能。 为了进行更详细的分析,您可以直接从 监测 窗口的工具栏获取分析数据(例如,启动性能分析会话或获取内存快照):

  • 获取堆栈跟踪收集堆栈跟踪 – 获取应用程序的堆栈跟踪。 堆栈跟踪将自动在 堆栈跟踪资源管理器 中打开。 例如,当您遇到意外的 UI 卡顿并希望调查潜在的线程锁时,这可能会有所帮助。

  • 开始内存分析获取内存快照 – 立即获取应用程序的内存快照。 一旦收集到快照,它将会在 dotMemory Profiler工具窗口中打开。

  • 开始采样分析开始采样分析 | 开始时间线分析开始时间线分析 – 使用 时间线或采样分析类型启动性能分析会话。 要停止记录分析数据并保存性能快照,请单击 停止分析 按钮。 收集的快照将会在 dotTrace Profiler工具窗口中打开。

最后修改日期: 2025年 9月 26日