Condividi tramite


Uso dei contatori delle prestazioni delle unità di lavoro

I contatori delle prestazioni delle unità di lavoro offrono alla piattaforma Windows una comprensione approfondita dei processi di un'applicazione. Le unità di lavoro consentono alle app di descrivere quali parti dell'applicazione vengono eseguite in un processo specifico e rivendicare la proprietà. Ad esempio, un Web browser ha un proprio Task Manager per gestire tutti i processi; con il contatore delle prestazioni dell'unità di lavoro, tale livello di dettaglio e controllo può essere disponibile in Gestione attività di Windows.

Si consideri, ad esempio, il browser Microsoft Edge in esecuzione nel dispositivo di un utente. Il browser viene eseguito in un processo specifico, ma altri processi vengono creati per ospitare schede, servizi di rete e audio, estensioni e altre funzionalità. Il processo specifico può essere usato per eseguire più unità di lavoro e diverse app possono condividerle. Internamente, il browser conosce le relative dipendenze e come comunicare con i processi necessari, ma la piattaforma Windows e altre applicazioni non sanno come è composto il browser. Avere tali informazioni è utile per fornire informazioni più precise sull'utilizzo delle risorse e aiutare a diagnosticare i problemi con l'app; Gestione attività può segnalare le unità di lavoro in esecuzione in un processo. Con questo, i debugger possono semplificare i carichi di lavoro degli sviluppatori descrivendo il tipo di lavoro in esecuzione in un processo.

Ogni unità di lavoro contiene le proprietà seguenti.

  • AppOwnerProcessId: ID per il processo proprietario dell'unità di lavoro specificata.
  • HostProcessId: ID per il processo in cui è in esecuzione l'unità di lavoro specificata.
  • Tipo: come l'unità di lavoro deve essere interpretata dall'applicazione che la riceve.
  • Titolo: etichetta per l'unità di lavoro.
  • UniqueId: identificatore per l'unità di lavoro.

Contratto sui dati

Le informazioni condivise con le unità di lavoro nella piattaforma Windows sono disponibili per l'esecuzione di query da parte di qualsiasi app in esecuzione nel sistema. I dati vengono forniti e utilizzati usando le API contatore delle prestazioni , disponibili pubblicamente e documentate. Nell'ambito dell'implementazione, i contatori delle prestazioni devono avere una stringa di identificatore univoco, che viene usata per identificare l'etichetta per l'unità di lavoro. Il formato previsto della stringa di identificatore univoco del contatore delle prestazioni è.

  • Stringa iniziale “WorkUnit”.
  • Identificativo unico con base 1.
  • identificatore del processo in cui è in esecuzione l'unità di lavoro.
  • identificatore del processo principale che rappresenta l'applicazione.
  • titolo descrittivo per l'unità di lavoro.

Nota

Se è necessario aggiornare le informazioni di un'unità di lavoro(ad esempio, il titolo è stato modificato), mantiene il relativo uniqueId. Le nuove unità devono usare nuovi identificatori univoci. Il valore uniqueId deve essere concatenato usando il carattere pipe "|", come illustrato nell'esempio seguente.

Campione:

"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"

Fornitura di unità di lavoro

È possibile creare istanze del set di contatori delle prestazioni dell'unità di lavoro usando le API contatore delle prestazioni . Seguire il contratto dati documentato in precedenza per assicurarsi che altre app possano convalidare e utilizzare correttamente i dati.

Visualizzazione delle unità di lavoro

Se si desidera eseguire query sui dati da un contatore delle prestazioni dell'unità di lavoro, è possibile usare le API contatore delle prestazioni o l'applicazione Performance Monitor.

  1. Digitare "perfmon" in un prompt CMD o nella finestra Esegui per avviare lo strumento PerfMon.
  2. Selezionare "Performance Monitor" in "Strumenti di monitoraggio".
  3. Fare clic sul pulsante "Aggiungi contatori" (segno verde '+').
  4. Selezionare ed espandere "Unità di lavoro" per visualizzare i contatori forniti dalle applicazioni in esecuzione.
  5. Selezionare i contatori elencati: "ID processo proprietario App" e "ID processo host".
  6. Selezionare "Tutte le istanze" e fare clic su "Aggiungi".
  7. Fare clic su "OK".
  • Selezione del contatore di Work Unit dall'interfaccia utente Screenshot della finestra Aggiungi contatore. Work Unit è evidenziata nella finestra come contatore da aggiungere.