JetBrains Rider 2025.2 Help

分析配置对话框

运行 | 切换性能分析配置 | 编辑配置...

使用此对话框创建、编辑、调整或删除 分析配置

常用选项

名称

在此字段中,指定分析配置的名称。 该名称将帮助您在稍后选择编辑或调用时识别已创建的配置。

手动控制分析

允许您通过分析器控件手动控制分析。 例如,要获取快照,您需要点击 获取快照 按钮

从开始处收集分析数据

从开始处收集分析数据 :如果选中,dotTrace 将在启动后立即开始收集分析数据。 否则,dotTrace 仅在您点击 开始录制 后,才会开始收集数据,位于 dotTrace Profiler工具窗口中。

通过 API 控制分析

允许您直接从被分析应用程序的代码中控制分析。 例如,在代码的确切位置获取快照。 在 dotTrace 文档中了解更多关于使用 API 的信息。

分析子进程

如果选中,dotTrace 将不仅分析主应用程序进程,还会分析其运行的进程。

工具栏

分析配置的树视图具有一个工具栏,可帮助您管理 解决方案 中可用的配置以及调整默认配置模板。

条目

快捷方式

描述

添加分析配置

Alt+Insert

创建一个分析配置。

删除分析配置

Alt+Delete

删除选定的分析配置。

复制

Ctrl+D

创建选定分析配置的副本。

上下

Alt+UpAlt+Down

在列表中上下移动选定的分析配置。

列表中配置的顺序定义了选择分析配置时配置出现的顺序。

分析类型:采样

抽样 分析类型提供了精确的时间测量,但不会测量方法调用的次数。 抽样 推荐用于大多数性能分析场景。 当您首次查找应用程序中的性能问题时,这是理想的选择。

时间度量

此选项定义了 dotTrace 必须如何计算调用时间。 欲了解更多信息,请参阅 https://www.jetbrains.com.cn/help/profiler/Profiling_Guidelines__Setting_the_Right_Meter_Kind.html。 通常,这是在 dotTrace 应该计算线程未工作时的时间还是不计算之间的选择。 更具体地说,有以下选项:

实时(性能计数器)

推荐。 dotTrace 计算从方法进入到退出之间经过的总实际时间。 此时间不依赖于应用程序线程的状态。 时间是使用系统性能计数器计算的。

实时(CPU 指令)

dotTrace 计算从方法进入到退出之间经过的总实际时间。 此时间不依赖于应用程序线程的状态。 时间是使用 CPU 寄存器计算的。

线程时间

dotTrace 仅计算特定线程运行时的时间。 线程处于等待或休眠状态的时间不包括在计算中。

线程周期时间

dotTrace 仅计算特定线程运行时的时间。 线程处于等待或休眠状态的时间不包括在计算中。 时间是使用 CPU 寄存器计算的。

分析类型:跟踪

跟踪 性能分析类型提供准确的调用次数测量。 请注意,由于性能分析开销,时间测量可能不准确。 仅当采样数据不足时才使用此性能分析类型。 例如,用于分析算法复杂性(当调用次数信息比调用时间值更有价值时)。

时间度量

此选项定义了 dotTrace 必须如何计算调用时间。 有关更多信息,请参阅 https://www.jetbrains.com.cn/help/profiler/Profiling_Guidelines__Setting_the_Right_Meter_Kind.html。 通常,这是在 dotTrace 应该计算线程未工作时的时间还是不计算之间的选择。 更具体地说,有以下选项:

实时(性能计数器)

推荐。 dotTrace 计算从方法进入到退出之间经过的总实际时间。 此时间不依赖于应用程序线程的状态。 时间是使用系统性能计数器计算的。

实时(CPU 指令)

dotTrace 计算从方法进入到退出之间经过的总实际时间。 此时间不依赖于应用程序线程的状态。 时间是使用 CPU 寄存器计算的。

线程时间

dotTrace 仅计算特定线程运行时的时间。 线程处于等待或休眠状态的时间不包括在计算中。

线程周期时间

dotTrace 仅计算特定线程运行时的时间。 线程处于等待或休眠状态的时间不包括在计算中。 时间是使用 CPU 寄存器计算的。

启用内联

如果您希望 dotTrace 关闭 JIT 内联并获取与应用程序源代码结构非常相似的调用堆栈,请清除此选项。

高准确性

如果选中,dotTrace 将通过采集更多时间样本来考虑分析器本身所花费的时间。

分析类型:逐行

逐行 性能分析期间,每行代码都会被测量,由于性能分析器的巨大开销,调用时间值不准确。 仅用于高级场景。 例如,当您已经知道哪个函数导致问题并希望分析其每一行时。

时间度量

此选项定义了 dotTrace 必须如何计算调用时间。 有关更多信息,请参见 https://www.jetbrains.com.cn/help/profiler/Profiling_Guidelines__Setting_the_Right_Meter_Kind.html。 通常,这是在 dotTrace 应该计算线程未工作时的时间还是不计算之间的选择。 更具体地说,有以下选项:

实时(性能计数器)

推荐。 dotTrace 计算从方法进入到退出之间经过的总实际时间。 此时间不依赖于应用程序线程的状态。 时间是使用系统性能计数器计算的。

实时(CPU 指令)

dotTrace 计算从方法进入到退出之间经过的总实际时间。 此时间不依赖于应用程序线程的状态。 时间是使用 CPU 寄存器计算的。

线程时间

dotTrace 仅计算特定线程运行时的时间。 线程处于等待或休眠状态的时间不包括在计算中。

线程周期时间

dotTrace 仅计算特定线程运行时的时间。 线程处于等待或休眠状态的时间不包括在计算中。 时间是使用 CPU 寄存器计算的。

启用内联

如果您希望 dotTrace 关闭 JIT 内联并获取与应用程序源代码结构非常相似的调用堆栈,请清除此选项。

高准确性

如果选中,dotTrace 将通过采集更多时间样本来考虑分析器本身所花费的时间。

分析类型:时间线

时间轴 分析会话期间,dotTrace 收集有关线程状态、应用程序事件和其他多线程数据的时间数据。 我们建议在大多数情况下使用此分析类型。 特别是用于分析多线程应用程序。 例如,使用它来确定 UI 卡顿、过多垃圾回收、不均匀的工作负载分配、I/O 不足等问题的原因。

收集原生分配

如果选中,dotTrace 将收集被分析应用程序在本机(非托管)堆中执行的所有内存分配信息。

收集 TPL 事件

如果选中,分析性能可能会受到影响,但 dotTrace 将收集任务并行库(TPL)数据。 如果清除,将不会在 任务 中显示节点, 调用树异步 调用节点将不显示其 await延续 部分。

如果您的应用程序不使用多任务处理或您不需要此信息,请清除此选项。

收集调试输出

如果选中,dotTrace 将收集被分析应用程序发送到 调试输出的所有消息的信息。

分析类型:时间线(Mono)

您只能使用时间线分析类型分析 Mono 应用程序。 为了区分 .NET Framework 应用程序的分析类型,存在一个单独的 时间线(Mono) 分析类型。

收集原生分配

如果选中,dotTrace 将收集被分析应用程序在本机(非托管)堆中执行的所有内存分配信息。

收集 TPL 事件

如果选中,分析性能可能会受到影响,但 dotTrace 将收集任务并行库(TPL)数据。 如果清除,将不会在 任务 中显示节点, 调用树异步 调用节点将不显示其 await延续 部分。

如果您的应用程序不使用多任务处理或您不需要此信息,请清除此选项。

收集调试输出

如果选中,dotTrace 将收集被分析应用程序发送到 调试输出的所有消息的信息。

分析类型:时间线(Unity)

您只能使用时间线分析类型分析 Unity 应用程序。 为了区分 .NET Framework 应用程序的分析类型,存在一个单独的 时间线(Unity) 分析类型。

收集原生分配

如果选中,dotTrace 将收集被分析应用程序在本机(非托管)堆中执行的所有内存分配信息。

收集 TPL 事件

如果选中,分析性能可能会受到影响,但 dotTrace 将收集任务并行库(TPL)数据。 如果清除,将不会在 任务 中显示节点, 调用树异步 调用节点将不显示其 await延续 部分。

如果您的应用程序不使用多任务处理或您不需要此信息,请清除此选项。

收集调试输出

如果选中,dotTrace 将收集被分析应用程序发送到 调试输出的所有消息的信息。

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