“高级设置”对话框(并发可视化工具)

通过使用并发可视化工具中的 “高级设置” 对话框,可以控制跟踪的收集方式。 该对话框包含用于符号、仅我的代码、缓冲、筛选、CLR 事件、标记、提供程序和文件的选项卡。

符号

并发可视化工具使用与 Visual Studio 调试器相同的符号设置。 并发可视化工具使用设置来解析与性能数据关联的调用堆栈。 处理跟踪时,并发可视化工具访问设置页中指定的符号服务器。 通过网络访问此数据时,跟踪处理速度会降低。 若要减少解析符号所需的时间,可以在本地缓存符号。 如果已下载符号,Visual Studio 将从本地缓存加载它们。

仅我的代码

默认情况下,“仅我的代码”是一组与 Visual Studio 中当前解决方案关联的 .exe 和 .dll 文件。 使用“仅我的代码”功能筛选调用堆栈时,并发可视化工具会评估这组文件。 在“仅我的代码”选项卡上,您可以向用于“仅我的代码”的位置添加包含 .exe 和 .dll 文件的目录。

文件的路径,.exe 和 .dll 文件在收集跟踪时存储在跟踪文件中。 更改此设置不会影响先前收集的任何日志记录。

缓冲

并发可视化工具在收集跟踪时使用 Windows 事件跟踪(ETW)。 ETW 在存储事件时使用各种缓冲区。 在所有情况下,默认 ETW 缓冲区设置可能不是最佳设置,在某些情况下,可能会导致诸如丢失事件等问题。 可以使用“缓冲”选项卡配置 ETW 缓冲区设置。 有关详细信息,请参阅 事件跟踪EVENT_TRACE_PROPERTIES结构

过滤器

在“筛选器”选项卡上,可以选择并发可视化工具收集的事件集。 选择事件子集会限制报表中显示的数据类型,减少每个跟踪的大小,并减少处理跟踪所需的时间。

CLR 事件

公共语言运行时 (CLR) 生成的事件使并发可视化工具能够解析托管调用堆栈。 禁用 CLR 事件的收集后,跟踪数据的大小将会减少,但某些调用堆栈可能无法正确解析。 因此,某些 CPU 线程活动可能未正确分类。

收集进程的数据用于本地进程

默认情况下,仅当分析托管进程时,才会收集 CLR 事件,因为它们通常对本机进程不必要。 在某些情况下(例如,当本机进程托管 CLR 时),可能需要为本机进程收集 CLR 事件。 如果是这种情况,请选中“ 本机进程收集 ”复选框。

禁用运行事件

CLR 从两个提供程序生成事件:runtime 和 rundown。 如果要收集 CLR 运行时事件,但想要避免收集运行事件,请选中“ 禁用运行事件 ”复选框。 这会减小集合生成的跟踪文件的大小,但某些堆栈可能无法解析。 有关详细信息,请参阅 CLR ETW 提供程序

示例事件

可以使用示例事件收集与线程执行关联的调用堆栈。 对于在当前进程中执行的线程,这些事件大约每毫秒收集一次。 如果禁用示例事件的收集,则会减少收集的跟踪的大小,但无法查看与线程执行关联的任何调用堆栈。

GPU 事件

GPU 事件是由 DirectX 生成的事件。 如果禁用 GPU 事件的收集,则会减少收集的跟踪的大小,但无法在“利用率”视图中查看任何 GPU 活动,也不能在“线程”视图中查看 DirectX 引擎活动。

文件输入/输出事件

文件 I/O 事件表示代表当前进程访问磁盘的权限。 如果禁用文件 I/O 事件,则会减少跟踪的大小,但线程视图不会报告有关磁盘通道或磁盘作的任何信息。

标记

在“ 标记 ”选项卡上,可以配置在并发可视化工具中显示为标记的 ETW 提供程序集。 还可以根据重要性级别和 ETW 类别筛选标记集合。 如果使用 并发可视化工具 SDK 并使用自己的标记提供程序,可以在此处注册它,使其显示在线程视图中。

添加新提供程序

如果代码使用 并发可视化工具 SDK 或生成遵循 EventSource 约定的 ETW 事件,可以通过在此对话框中注册这些事件,在并发可视化工具中查看这些事件。

“名称” 字段中,输入描述提供程序生成的事件类型的名称。 在 GUID 字段中,输入与此提供程序关联的 GUID。 (GUID 与每个 ETW 提供者相关联。)

(可选)可以指定是否根据类别或重要性级别筛选出来自此提供程序的事件。 可以使用类别字段根据并发可视化工具 SDK 类别进行筛选。 为此,请输入以逗号分隔的类别或类别范围字符串。 这指定当前提供程序中要显示的事件类别。 如果要添加 EventSource 提供程序,可以使用类别字段按 ETW 关键字进行筛选。 由于关键字是位掩码,因此可以使用逗号分隔的整数字符串来指定掩码中的哪些位已设置。 例如,“1,2”设置第一位和第二位,这在十进制数中转换为 6。

可以使用重要性级别列表筛选出重要性或 ETW 级别小于指定值的事件。

配置现有提供程序

若要编辑与现有提供程序关联的设置,请在列表中选择它,然后选择 “编辑提供程序 ”按钮。 可以更改名称、GUID 和筛选设置。

排除并发可视化工具报表中的标记数据

如果不希望特定提供程序的数据出现在将来的跟踪中,请清除要删除的提供程序旁边的复选框。

文件存储

在“ 文件 ”选项卡上,可以指定每次收集跟踪时存储跟踪文件的目录。 并发可视化工具为每个收集到的跟踪生成四个文件:

  • 内核模式事件跟踪日志 (ETL) 文件 (.kernel.etl*)

  • 用户模式事件跟踪日志文件 (.user.etl*)

  • 并发可视化工具数据文件 (.CVData*)

  • 并发可视化工具跟踪文件 (.CVTrace*)

    两个 ETL 文件存储原始跟踪数据,两个并发可视化工具文件存储已处理的数据。 处理跟踪后,通常不会使用原始 ETL 文件。 在 分析复选框后选择“删除事件跟踪日志”(ETL)文件 可减少存储在磁盘上的跟踪数据量。