Condividi tramite


Uso dei contatori delle prestazioni di Work Unit

I contatori delle prestazioni dell'unità di lavoro forniscono informazioni dettagliate sulla piattaforma Windows sui processi di un'applicazione. Le unità di lavoro consentono alle app di descrivere quali parti dell'applicazione vengono eseguite in un determinato processo e proprietà dell'attestazione. Ad esempio, un Web browser ha il 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 da 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 il browser è composto. Avere queste informazioni è utile per fornire informazioni di utilizzo delle risorse più precise e aiutare a diagnosticare i problemi con l'app; Task Manager 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 lo riceve.
  • Titolo: etichetta per l'unità di lavoro.
  • UniqueId: identificatore per l'unità di lavoro.

Contratto dati

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

  • Stringa "WorkUnit" iniziale.
  • UniqueId basato su 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 un'unità di lavoro (ad esempio, il titolo è stato modificato), mantiene il relativo uniqueId. Le nuove unità devono usare nuovi identificatori univoci. L'uniqueId deve essere concatenato usando il carattere di pipe "|", come illustrato nell'esempio seguente.

Esempio:

"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 prestazioni di Work Unit usando le API Contatore 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 prestazioni o l'applicazione Monitor prestazioni.

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