共用方式為


使用工作單位性能計數器

工作單位性能計數器可讓 Windows 平臺深入瞭解應用程式的程式。 工作單元可讓應用程式描述應用程式中執行於特定程式中的部分,並宣告擁有權。 例如,網頁瀏覽器有自己的任務管理員來管理其所有進程;使用工作單位性能計數器,您可以從 Windows 任務管理器取得該層級的詳細數據和控制。

例如,請考慮在使用者的裝置上執行的 Microsoft Edge 瀏覽器。 瀏覽器在特定進程上執行,但會建立其他進程來裝載索引標籤、網路和音訊服務、延伸模組和其他功能。 特定程式可用來執行多個工作單位,而不同的應用程式可以共享它們。 在內部,瀏覽器知道其相依性,以及如何與必要的進程通訊,但 Windows 平臺和其他應用程式不知道瀏覽器的撰寫方式。 擁有這類資訊有助於提供更精確的資源使用資訊,並協助診斷應用程式的問題;任務管理員可以報告進程上執行的工作單位。 如此一來,調試程式就可以藉由描述進程上執行的工作類型,來簡化開發人員工作負載。

每個工作單位都有下列屬性。

  • AppOwnerProcessId:擁有指定工作單位的程序之識別碼。
  • HostProcessId:指定工作單位正在執行之進程的標識碼。
  • 類型:接收工作單位的應用程式應如何詮釋工作單位。
  • 標題:工作單位的標籤。
  • UniqueId:工作單位的標識符。

數據合約

Windows 平臺中與工作單位共用的資訊可供系統中執行的任何應用程式查詢。 數據會使用 性能計數器 API提供及取用,並公開提供並記載。 作為其實作的一部分,性能計數器必須具有唯一標識符字串,我們用來識別工作單位的標籤。 perf 計數器唯一識別符字串的預期格式為 。

  • 前置 「WorkUnit」 字串。
  • 以 1 為基礎的唯一識別碼。
  • 工作單位正在執行之進程的識別碼。
  • 代表應用程式之主要進程的標識碼。
  • 工作單位的易於使用的標題。

注意

如果必須更新工作單位資訊(例如,標題已變更),則會保留其 uniqueId。 新單位必須使用新的唯一標識碼。 uniqueId 必須使用管道字元 「|」串連,如下列範例所示。

樣本:

"WorkUnit|1|4321|1019|Instance 1 of pid 1111, owned by 1111"
"WorkUnit|1|8765|1019|Instance 1 of pid 5555, owned by 5555"
"WorkUnit|1|9999|1019|Instance 1 of pid 9999, owned by 9999"
"WorkUnit|2|4321|1019|Instance 2 of pid 1234, owned by 4321"
"WorkUnit|2|8765|1019|Instance 2 of pid 5678, owned by 8765"

提供工作單位

您可以使用 性能計數器 API來建立工作單位性能計數器集的實例。 請遵循上面所述的 資料合約,以確保其他應用程式可以成功驗證及取用您的數據。

可視化工作單位

如果您想要從工作單位性能計數器查詢數據,您可以使用性能計數器 API 或性能監視器應用程式。

  1. 在 CMD 提示字元或 [執行] 對話框中輸入 “perfmon”,以啟動 PerfMon 工具。
  2. 選取 [監視工具] 底下的 [效能監視器]。
  3. 按兩下 [新增計數器] 按鈕(綠色 '+' 符號)。
  4. 選取並展開 [工作單位],以查看執行中應用程式所提供的計數器。
  5. 選取列出的計數器:「應用程式擁有者進程標識碼」和「主機進程標識碼」。
  6. 選取 [所有實例],然後按兩下 [新增]。
  7. 按兩下 [確定]。
  • 從 UI 的 [新增計數器] 視窗中選取 [工作單位] 計數器,並將其在視窗中反白顯示為要新增的計數器。螢幕快照。