Creare tracce di prestazioni lato client
Esistono molti motivi per cui le prestazioni di Azure Rendering remoto potrebbero non essere ottimali come desiderato. Oltre alle prestazioni di rendering pure nel server cloud, in particolare la qualità della connessione di rete ha un impatto significativo sull'esperienza. Per profilare le prestazioni del server, vedere il capitolo Query sulle prestazioni lato server.
Questo capitolo è incentrato su come identificare potenziali colli di bottiglia sul lato client tramite performance traces.
Introduzione
Se non si ha familiarità con le funzionalità di Windows performance tracing , in questa sezione vengono menzionati i termini e le applicazioni più fondamentali per iniziare.
Installazione
Le applicazioni usate per eseguire la traccia con ARR sono strumenti per utilizzo generico che possono essere usati per tutto lo sviluppo di Windows. Vengono forniti tramite Windows Performance Toolkit. Per ottenere questo toolkit, scaricare Windows Assessment and Deployment Kit.
Terminologia
Quando si cercano informazioni sulle tracce delle prestazioni, è possibile riscontrare una serie di termini. I più importanti sono:
ETW
ETL
WPR
WPA
Perfetto
ETW è l'acronimo di Event Tracing for Windows. Si tratta semplicemente del nome generale per l'efficiente funzionalità di traccia a livello di kernel integrata in Windows. Si chiama traccia di eventi , perché le applicazioni che supportano ETW generano eventi per registrare azioni che possono contribuire a tenere traccia dei problemi di prestazioni. Per impostazione predefinita, il sistema operativo emette già eventi per elementi come l'accesso al disco, le opzioni di attività e tali. Le applicazioni come ARR generano anche eventi personalizzati, ad esempio su frame eliminati, ritardo di rete e così via.
ETL sta per Event Trace Logging. Significa semplicemente che una traccia è stata raccolta (registrata) ed è quindi usata in genere come estensione di file per i file che archivia i dati di traccia. Pertanto, quando si esegue una traccia, in genere si dispone di un file *.etl in un secondo momento.
WPR è l'acronimo di Windows Performance Recorder ed è il nome dell'applicazione che avvia e arresta la registrazione delle tracce di eventi. WPR accetta un file di profilo (*.wprp) che configura gli eventi esatti da registrare. Un file di questo tipo wprp
viene fornito con ARR SDK. Quando si eseguono tracce su un PC desktop, è possibile avviare WPR direttamente. Quando si esegue una traccia in HoloLens, in genere si passa attraverso l'interfaccia Web.
WPA è l'acronimo di Windows Performance Analyzer ed è il nome dell'applicazione GUI usata per aprire i file *.etl e analizzare i dati per identificare i problemi di prestazioni. WPA consente di ordinare i dati in base a vari criteri, visualizzare i dati in diversi modi, approfondire i dettagli e correlare le informazioni.
Perfetto è uno strumento di profilatura del sistema e di traccia delle applicazioni per Android e Linux. È integrato in Android a partire da Android 9 Pie. Perfetto è abilitato anche nei dispositivi Meta Quest e Quest 2 (quando la modalità sviluppatore è abilitata), dal sistema operativo v27. Perfetto Trace Viewer UI può essere usato per aprire e analizzare le tracce Perfetto risultanti.
Anche se le tracce ETL possono essere create in qualsiasi dispositivo Windows (PC locale, HoloLens, server cloud e così via), in genere vengono salvate su disco e analizzate con WPA in un PC desktop. I file ETL possono essere inviati ad altri sviluppatori affinché abbiano un aspetto. Tenere presente che le informazioni riservate, ad esempio i percorsi di file e gli indirizzi IP, possono essere acquisite nelle tracce ETL, anche se. È possibile usare ETW in due modi: per registrare tracce o per analizzare le tracce. La registrazione delle tracce è semplice e richiede una configurazione minima. L'analisi delle tracce richiede invece una comprensione decente sia dello strumento WPA che del problema che stai analizzando. Di seguito è riportato materiale generale per l'apprendimento di WPA e linee guida per l'interpretazione di tracce specifiche di ARR.
Registrazione di una traccia in un PC locale
Per identificare i problemi di prestazioni di ARR, è consigliabile eseguire una traccia direttamente in un dispositivo HoloLens. Poiché questo è l'unico modo per ottenere uno snapshot delle vere caratteristiche delle prestazioni. Tuttavia, se si vuole specificamente eseguire una traccia senza limitazioni delle prestazioni di HoloLens o semplicemente si vuole imparare a usare WPA e non è necessaria una traccia realistica, ecco come farlo.
Configurazione wpr
- Avviare dal Windows Performance Recordermenu Start.
- Espandi altre opzioni
- Selezionare Aggiungi profili...
- Selezionare il file AzureRemoteRenderingNetworkProfiling.wprp. È possibile trovare questo file in ARR SDK in Strumenti/ETLProfiles. Il profilo verrà ora elencato in WPR in Misurazioni personalizzate. Assicurarsi che sia l'unico profilo abilitato.
- Espandere Valutazione di primo livello:
- Se si vuole solo acquisire una traccia rapida degli eventi di rete ARR, disabilitare questa opzione.
- Se è necessario correlare gli eventi di rete ARR con altre caratteristiche di sistema, ad esempio l'utilizzo della CPU o della memoria, abilitare questa opzione.
- Se si abilita questa opzione, la traccia sarà probabilmente più gigabyte di dimensioni e richiederà molto tempo per risparmiare e aprire in WPA.
Successivamente, la configurazione wpr dovrebbe essere simile alla seguente:
Registrazione
Selezionare Avvia per avviare la registrazione di una traccia. È possibile avviare e arrestare la registrazione in qualsiasi momento; non è necessario chiudere l'applicazione prima di farlo. Come si può notare, non è necessario specificare quale applicazione tracciare, poiché ETW registrerà sempre una traccia per l'intero sistema. Il wprp
file specifica i tipi di eventi da registrare.
Selezionare Salva per arrestare la registrazione e specificare dove archiviare il file ETL.
Ora hai un file ETL che puoi aprire in WPA.
Registrazione di una traccia in un dispositivo HoloLens
Per registrare una traccia in un dispositivo HoloLens, avviare il dispositivo e immetterne l'indirizzo IP in un browser per aprire Il portale di dispositivi.
- A sinistra passare a Performance Performance Tracing (Traccia prestazioni prestazioni>).
- Selezionare Profili personalizzati
- Selezionare Browse...
- Selezionare il file AzureRemoteRenderingNetworkProfiling.wprp. È possibile trovare questo file in ARR SDK in Strumenti/ETLProfiles.
- Selezionare Avvia traccia
- HoloLens sta registrando una traccia. Assicurarsi di attivare i problemi di prestazioni da analizzare. Selezionare quindi Arresta traccia.
- La traccia viene quindi elencata nella parte inferiore della pagina Web. Selezionare l'icona del disco sul lato destro per scaricare il file ETL.
Ora hai un file ETL che puoi aprire in WPA.
Registrazione di una traccia in un dispositivo Meta Quest
Per registrare una traccia in un oggetto Quest, è necessario lo strumento da riga di comando adb.
- Assicurarsi che la modalità sviluppatore sia abilitata nella ricerca.
- Assicurarsi che adb sia autorizzato ad accedere al dispositivo eseguendo
adb devices
e verificando che il dispositivo sia elencato. - Individuare il file di configurazione di traccia AzureRemoteRenderingPerfetto.txt da ARR SDK in Strumenti/ETLProfiles.
- Per impostazione predefinita, la configurazione della traccia è configurata per l'esecuzione per 30 secondi. Questa configurazione può essere modificata modificando il
duration_ms: 30000
valore nel file AzureRemoteRenderingPerfetto.txt .
- Per impostazione predefinita, la configurazione della traccia è configurata per l'esecuzione per 30 secondi. Questa configurazione può essere modificata modificando il
- In PowerShell eseguire
$config = cat "AzureRemoteRenderingPerfetto.txt" | adb shell perfetto -c - $config --txt --o "/data/misc/perfetto-traces/trace"
- L'output dovrebbe essere simile al seguente:
[522.149] perfetto_cmd.cc:825 Connected to the Perfetto traced service, TTL: 30s
- Il dispositivo Quest sta registrando una traccia. Avviare l'applicazione e attivare il problema da analizzare.
- Al termine della registrazione della traccia, verrà visualizzato un output simile al seguente:
[552.637] perfetto_cmd.cc:946 Trace written into the output file
- Infine, è possibile eseguire il pull del file dal dispositivo eseguendo
adb pull "/data/misc/perfetto-traces/trace" "outputTrace.pftrace"
È ora disponibile un file di traccia Perfetto che è possibile aprire nell'interfaccia utente di Perfetto Trace Viewer.
Analisi delle tracce con WPA
Nozioni di base su WPA
Windows analizzatore prestazioni è lo strumento standard per aprire i file ETL ed esaminare le tracce. Una spiegazione del funzionamento di WPA non rientra nell'ambito di questo articolo. Per iniziare, vedere queste risorse:
- Guardare i video introduttivi per una prima panoramica.
- WPA ha una scheda Introduttiva , che illustra i passaggi comuni. Vedere gli articoli disponibili. In particolare in "Visualizza dati" si ottiene un'introduzione rapida su come creare grafici per dati specifici.
- Ci sono ottime informazioni su questo sito web, tuttavia, non è tutto rilevante per i principianti.
Grafici dei dati
Per iniziare a usare la traccia ARR, i componenti seguenti sono ben noti.
L'immagine precedente mostra una tabella di dati di traccia e una rappresentazione a grafo degli stessi dati.
Nella tabella in basso prendere nota della barra gialla (dorata) e della barra blu. È possibile trascinare queste barre e posizionarle in qualsiasi posizione.
Tutte le colonne a sinistra della barra gialla vengono interpretate come chiavi. Le chiavi vengono usate per strutturare l'albero nella finestra superiore sinistra. Qui sono disponibili due colonne chiave , "Nome provider" e "Nome attività". Quindi la struttura ad albero nella finestra superiore sinistra è a due livelli profondi. Se si riordinano le colonne o si aggiungono o si rimuovono colonne dall'area chiave, la struttura nella visualizzazione albero cambia.
Le colonne a destra della barra blu vengono utilizzate per la visualizzazione del grafico nella finestra in alto a destra. Nella maggior parte dei casi viene usata solo la prima colonna, ma alcune modalità del grafico richiedono più colonne di dati. Per il funzionamento dei grafici a linee, è necessario impostare la modalità di aggregazione in tale colonna. Usare 'Avg' o 'Max'. La modalità di aggregazione viene usata per determinare il valore del grafico in un determinato pixel, quando un pixel copre un intervallo con più eventi. Questa operazione può essere osservata impostando l'aggregazione su 'Sum' e quindi facendo zoom avanti e indietro.
Le colonne al centro non hanno alcun significato speciale.
Nell'Editor visualizzazione eventi generici è possibile configurare tutte le colonne da visualizzare, la modalità di aggregazione, l'ordinamento e le colonne usate come chiavi o per l'grafo. Nell'esempio precedente il campo 2 è abilitato e il campo 3 - 6 sono disabilitati. Il campo 2 è in genere il primo campo dati personalizzato di un evento ETW e quindi per gli eventi ARR "FrameStatistics", che rappresentano un valore di latenza di rete. Abilitare altre colonne "Field" per visualizzare altri valori di questo evento.
Impostazioni predefinite
Per analizzare correttamente una traccia, è necessario individuare il proprio flusso di lavoro e visualizzare i dati preferiti. Tuttavia, per ottenere una rapida panoramica sugli eventi specifici di ARR, includiamo i file del profilo e dei set di impostazioni di Windows Software Protection Platform nella cartella Tools/ETLProfiles. Per caricare un profilo completo, selezionare Profili applica... dalla barra dei menu WPA oppure aprire il pannello Impostazioni personali (Impostazioni predefinite finestra>) e selezionare Importa>. Il primo configura una configurazione WPA completa come nell'immagine seguente. Quest'ultimo rende disponibili solo set di impostazioni per le varie configurazioni di visualizzazione e consente di aprire rapidamente una visualizzazione per esaminare una parte specifica dei dati dell'evento ARR.
L'immagine precedente mostra le visualizzazioni di vari eventi specifici di ARR e una visualizzazione dell'utilizzo complessivo della CPU.