计数器
Counter 选项从处理器(硬件)性能计数器中收集数据。
使用采样分析方法时,Counter 指定芯片性能计数器以及要用作采样间隔的计数器事件数。 使用采样时,只能指定一个计数器。
使用检测分析方法时,将在探查器报告中的单独字段列出上一个和当前收集事件之间的间隔中发生的计数器事件数。 使用检测时,可以指定多个 Counter 选项。
每个处理器类型都有一组自身的硬件性能计数器。 探查器定义一组常规性能计数器,几乎所有处理器都有这些计数器。 若要列出计算机上的常规和处理器特定的计数器,请使用 VSPerfCmd QueryCounters 命令。
VSPerfCmd.exe {/Launch:AppName | /Attach PID} /Counter:Name[,Reload[,FriendlyName]][Options]
VSPerfCmd.exe /Start:Method /Counter:Name[,Reload[,FriendlyName]][/Counter:Name[,Reload[,FriendlyName]]][Options]
参数
Name
计数器的名称。 使用 VSPerfCmd.exe /QueryCounters 选项可列出计算机上可用计数器的名称。Reload
采样间隔中的计数器事件数。 不要与检测方法一起使用。FriendlyName
(可选)用于替代探查器报告和视图的列标题中的 Name 的字符串。
必需选项
Counter 选项只能与以下某个选项一起使用:
**Start:**Trace
初始化探查器以使用检测方法。**Launch:**AppName
启动指定的应用程序和探查器。 必须初始化探查器才能使用采样方法。**Attach:**PID
启动探查器,并将其附加到进程 ID 指定的进程。 必须初始化探查器才能使用采样方法。
示例
下面的采样方法示例演示如何在常规探查器计数器 NonHaltedCycles 每出现 1000 次对应用程序采样一次。
下面的检测方法示例演示如何初始化探查器以收集 L2InstructionFetches 计数器事件。 L2InstructionFetches 计数器名称特定于处理器。
; Sample Method Example
VSPerfCmd.exe /Start:Sample /Output:TestApp.exe.vsp
VSPerfCmd.exe /Launch:TestApp.exe /Counter:NonHaltedCycles,1000,"Non-Halted Cycles"
;INSTRUMENTATION METHOD EXAMPLE
VSPerfCmd.exe /Start:Trace /Output:TestApp.exe.vsp /Counter:L2InstructionFetches,,"L2 Cache Instruction Fetches"