計數器

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 的字串。

必要選項

[計數器] 選項只能搭配下列其中一個選項使用:

  • Start: Trace
    初始化程式碼剖析工具以使用檢測方法。

  • Launch: AppName
    啟動指定的應用程式和程式碼剖析工具。程式碼剖析工具必須初始化,才能使用取樣方法。

  • Attach: PID
    啟動程式碼剖析工具,並將它附加至處理序 ID 指定的處理序。程式碼剖析工具必須初始化,才能使用取樣方法。

範例

取樣方法範例會示範如何以每 1000 次通用程式碼剖析工具計數器 NonHaltedCycles 的速度取樣應用程式。

檢測方法範例則會示範如何初始化程式碼剖析工具,以收集 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"

請參閱

參考

VSPerfCmd

概念

獨立應用程式的命令列分析

ASP.NET Web 應用程式的命令列分析

服務的命令列分析