Analizzare dati su Temporizzazione funzione JavaScript nelle app dello Store
In questo argomento vengono illustrati i dati relativi alle prestazioni del codice JavaScript presentato nelle visualizzazioni dei rapporti dello strumento Temporizzazione funzione JavaScript nell'hub Prestazioni e diagnostica. Per raccogliere dati sulla temporizzazione funzione JavaScript, vedi uno degli argomenti seguenti:
In questo argomento
Aprire un file di report della profilatura
Tipi di dati di profilatura
Tipi di visualizzazioni dei report di profilatura
Visualizzazioni dei report di profilatura
Visualizzazione Riepilogo
Visualizza Dettagli funzione
Visualizzazione Albero delle chiamate
Visualizzazione Chiamante/chiamato
Visualizzazioni Moduli e Funzioni
Personalizzare le visualizzazioni griglia dei dati
Aprire un file di rapporto della profilatura
Quando interrompi l'esecuzione di una profilatura dall'IDE di Visual Studio, i dati delle prestazioni vengono visualizzati automaticamente in un documento.
Per aprire un file di rapporto della profilatura (con estensione vspx) generato dallo strumento da riga di comando VSPerf o salvato dopo l'esecuzione di una profilatura precedente, procedi come indicato di seguito:
Se necessario, apri Visual Studio.
Scegli Apri file dal menu File.
Nella finestra di dialogo Apri file passa alla cartella contenente il file di rapporto della profilatura, quindi scegli il file di rapporto.
Tipi di dati di profilatura
I dati di profilatura per una funzione includono il tempo totale, medio, minimo e massimo e le percentuali. I dati sono calcolati per due set di valori di intervallo:
I valori di Inclusivo trascorso corrispondono alla quantità totale di tempo impiegato per l'esecuzione di una funzione.
I valori in Esclusivo trascorso corrispondono alla quantità di tempo impiegato da una funzione per l'esecuzione solo del proprio codice. I valori non include il tempo impiegato nelle funzioni figlio.
Tipi di visualizzazioni dei rapporti di profilatura
Le visualizzazioni dei rapporti di profilatura presentano i dati in due modi:
Visualizzazioni del grafico chiamate: mostra le informazioni sulle funzioni nel contesto dei percorsi di esecuzione. L'albero Percorso critico nella finestra di riepilogo mostra il percorso di esecuzione in cui l'app ha complessivamente impiegato più tempo durante l'esecuzione della profilatura. La visualizzazione Albero delle chiamate è un grafico delle chiamate per tutte le funzioni nell'esecuzione della profilatura. Le visualizzazioni Dettagli funzione e Chiamante/chiamato si concentrano su una funzione selezionata, presentando le funzioni che hanno chiamato la funzione selezionata e le funzioni chiamate dalla funzione. Le visualizzazioni del grafico chiamate consentono di individuare i problemi di prestazioni negli algoritmi.
Visualizzazioni di elenchi di funzioni: presentano le funzioni ordinate ed elencate in base a una colonna di dati selezionata. L'elenco Funzioni con più lavoro individuale nella pagina di riepilogo mostra le funzioni che hanno impiegato la maggior parte del tempo per l'esecuzione del proprio codice, escluso il tempo che la funzione ha impiegato per chiamare le funzioni figlio. La visualizzazione Moduli raggruppa le funzioni in base al file di origine per il codice JavaScript e in base al modulo per altri linguaggi. La visualizzazione Funzioni è un unico elenco di funzioni.
Visualizzazioni dei rapporti di profilatura
Visualizzazione Riepilogo
La pagina Riepilogo fornisce due visualizzazioni dei dati di profilatura che spesso possono indicare i migliori candidati per l'ottimizzazione delle prestazioni.
L'albero Percorso critico mostra lo stack di chiamate in cui l'app ha complessivamente impiegato più tempo durante l'esecuzione della profilatura. Comprendere il motivo per cui questo algoritmo richiede così tanto tempo può portare a un'ottimizzazione.
L'elenco Funzioni con più lavoro individuale presenta le dieci funzioni che hanno utilizzato il maggior tempo esclusivo. Puoi ottenere miglioramenti delle prestazioni rapidi e significativi ottimizzando il codice della funzione o riducendo il numero di chiamate di queste funzioni.
Visualizza Dettagli funzione
Grafico a barre Distribuzione costi che rappresenta le relazioni tra una funzione selezionata e le funzioni chiamanti che hanno eseguito la funzione selezionata e tra la funzione selezionata e le funzioni che ha chiamato.
Sulla barra Funzioni chiamanti vengono visualizzate le funzioni che hanno chiamato la funzione selezionata. La dimensione di un blocco di funzioni chiamanti indica la percentuale di tempo di esecuzione totale della funzione selezionata causata dalla funzione chiamante.
La barra Funzione selezionata indica la quantità relativa del tempo di esecuzione totale impiegato dalla funzione selezionata per l'esecuzione del proprio codice, il blocco Corpo funzione, e la quantità di tempo impiegata per l'esecuzione delle funzioni chiamate dalla funzione selezionata.
Sulla barra Funzioni chiamate sono visualizzate le funzioni chiamate dalla funzione selezionata. La dimensione di un blocco di funzioni chiamate indica la percentuale di tempo di esecuzione totale della funzione chiamata impiegato nella funzione chiamata.
Visualizzazione Albero delle chiamate
Puoi usare la visualizzazione Albero delle chiamate per esplorare i percorsi di esecuzione della funzione utilizzati nella tua app. La radice dell'albero è il punto di ingresso nell'app. Per ogni nodo della funzione vengono elencate tutte le funzioni chiamate e i dati delle prestazioni delle relative chiamate di funzione. I valori delle funzioni nella visualizzazione Albero delle chiamate sono relativi alle istanze della funzione chiamate dalla funzione padre nell'albero delle chiamate. I valori percentuali sono il rapporto del periodo del valore delle istanze della funzione con il tempo di esecuzione totale della profilatura.
Per concentrarti su un nodo della visualizzazione Albero delle chiamate, seleziona il nodo, quindi scegli Imposta radice dal menu di scelta rapida. Quando imposti il nodo radice, elimini dalla visualizzazione tutte le altre voci ad eccezione del sottoalbero del nodo selezionato. Per reimpostare il nodo radice sul nodo originale, sceglie Reimposta radice dal menu di scelta rapida.
Colonne della visualizzazione Albero delle chiamate
Nome colonna |
Descrizione |
---|---|
Numero di chiamate |
Numero di chiamate alla funzione dalla funzione padre nell'albero delle chiamate. |
% tempo inclusivo trascorso |
Percentuale totale del tempo di esecuzione impiegato per l'esecuzione di questa funzione. |
% tempo esclusivo trascorso |
Percentuale totale del tempo di esecuzione impiegato per l'esecuzione del corpo di una funzione. È escluso il tempo impiegato nelle funzioni chiamate dalla funzione. |
Tempo inclusivo trascorso medio |
Il tempo medio impiegato per l'esecuzione della funzione. |
Tempo esclusivo trascorso medio |
Il tempo medio impiegato per l'esecuzione della funzione. È escluso il tempo impiegato nelle funzioni chiamate dalla funzione. |
Nome modulo |
Per le funzioni JavaScript, nome del file di origine contenente la funzione. In caso contrario, nome del modulo (con estensione dll o exe) che contiene la funzione. |
Visualizzazione Chiamante/chiamato
La visualizzazione Chiamante/chiamato è una rappresentazione albero dei dati del grafico a barre Distribuzione costi dettagli funzione della visualizzazione Riepilogo che include tutti i dettagli dell'intervallo. Puoi usare la visualizzazione Chiamante/chiamato per esaminare la relazione tra una funzione selezionata e le funzioni che l'hanno la chiamata e la funzione che ha chiamato. La visualizzazione Chiamante/chiamato è costituita da tre griglie.
Nella griglia centrale, Funzione corrente mostra le informazioni di profilatura sulla funzione selezionata. Sono incluse tutte le chiamate alla funzione. I valori di Funzioni che hanno chiamato la funzione corrente sono visualizzati nella griglia superiore, mentre i valori di Funzioni che sono state chiamate dalla funzione corrente sono visualizzati nella griglia inferiore. I valori della funzione corrente sono i totali di tutte le chiamate alla funzione. I valori delle funzioni chiamanti e chiamate includono solo il tempo impiegato dalla funzione per chiamare o è essere chiamata dalla funzione selezionata.
Per esplorare l'albero delle chiamate di una funzione, fai doppio clic su una funzione chiamante o chiamata. La funzione su cui fai doppio clic diventa la nuova funzione selezionata. Le funzioni chiamanti e chiamate sono ora visibili.
Colonne della visualizzazione Chiamante/chiamato
Nome colonna |
Descrizione |
---|---|
Numero di chiamate |
|
% tempo inclusivo trascorso |
|
% tempo esclusivo trascorso |
|
Tempo inclusivo trascorso medio |
|
Tempo esclusivo trascorso medio |
|
Nome modulo |
Per le funzioni JavaScript, nome del file di origine contenente la funzione. In caso contrario, nome del modulo (con estensione dll o exe) che contiene la funzione. |
Visualizzazioni Moduli e Funzioni
Le visualizzazioni Moduli e Funzioni presentano i dettagli dei dati di profilatura per le funzioni nel rapporto di profilatura. La visualizzazione Moduli organizza le funzioni JavaScript in base al file di origine JS che le contiene. Altre funzioni sono elencate in base al modulo, ad esempio una DLL. La visualizzazione Funzioni elenca tutte le funzioni senza utilizzare una gerarchia. Individuare il tuo codice personalizzato nella visualizzazione Moduli è spesso più facile rispetto alla visualizzazione Funzioni. Potrebbe tuttavia risultare più facile confrontare le funzioni nella visualizzazione Funzioni.
Colonne delle visualizzazioni Moduli e Funzioni
Nome colonna |
Descrizione |
---|---|
Numero di chiamate |
Numero di chiamate alla funzione. |
% tempo inclusivo trascorso |
Percentuale di tempo totale di esecuzione della profilatura impiegato per l'esecuzione della funzione. |
% tempo esclusivo trascorso |
Percentuale di tempo totale di esecuzione impiegato per l'esecuzione della funzione. Il valore esclude il tempo impiegato nelle funzioni chiamate dalla funzione. |
Tempo inclusivo trascorso medio |
Tempo di esecuzione medio della funzione. |
Tempo esclusivo trascorso medio |
Tempo di esecuzione medio della funzione. Il valore esclude il tempo impiegato nelle funzioni chiamate dalla funzione. |
Nome modulo |
Per le funzioni JavaScript, nome del file di origine contenente la funzione. In caso contrario, nome del modulo (con estensione dll o exe) che contiene la funzione. |
Personalizzare le visualizzazioni griglia dei dati
Puoi aggiungere o rimuovere colonne di dati e modificare l'ordine in cui sono visualizzate le colonne. Fai clic con il pulsante destro del mouse su una riga di dati e scegli Aggiungi/Rimuovi colonne.
Nota
Quando il metodo di strumentazione viene utilizzato per il codice gestito e codice nativo, vengono raccolte informazioni aggiuntive sull'esecuzione di codice e presentate nei campi di intervalli Inclusivo applicazione ed Esclusivo applicazione.Queste informazioni non sono disponibili in JavaScript, pertanto i valori di Applicazione corrispondono ai valori del campo relativo al tempo trascorso.T>I sconsigliamo di aggiungere questi campi a una visualizzazione.
Ulteriori colonne dei dati di profilatura
Nome colonna |
Descrizione |
---|---|
Nome funzione |
Nome della funzione. |
Indirizzo funzione |
Indirizzo della funzione. |
Numero riga funzione |
Numero di riga dell'inizio di questa funzione nel file di origine. |
Numero di chiamate |
Numero totale di chiamate effettuate a questa funzione. |
File di origine |
File di origine che contiene la definizione per questa funzione. |
Nome modulo |
Nome del modulo che contiene la funzione. |
Percorso modulo |
Percorso del modulo che contiene la funzione. |
ID processo |
ID di processo (PID) dell'esecuzione della profilatura. |
Nome processo |
Nome del processo. |
Sovraccarico temporale per probe esclusivi |
Sovraccarico temporale per questa funzione causato dalla strumentazione. Non include il sovraccarico nelle funzioni chiamate dalla funzione. Il sovraccarico per probe è stato sottratto da tutti i valori di tempo esclusivo. |
Sovraccarico temporale per probe inclusivi |
Sovraccarico temporale per questa funzione e per le relative funzioni figlio causato dalla strumentazione. È incluso il sovraccarico nelle funzioni chiamate dalla funzione. Il sovraccarico per probe è stato sottratto da tutti i valori di tempo inclusivo. |
Tempo esclusivo trascorso |
Tempo esclusivo trascorso totale di tutte le chiamate a questa funzione. |
Tempo esclusivo trascorso massimo |
Tempo esclusivo trascorso massimo di una chiamata a questa funzione. |
Tempo esclusivo trascorso minimo |
Tempo esclusivo trascorso minimo di una chiamata a questa funzione. |
Tempo inclusivo trascorso |
Tempo inclusivo trascorso totale di tutte le chiamate a questa funzione. |
Tempo inclusivo trascorso massimo |
Tempo inclusivo trascorso massimo di una chiamata a questa funzione. |
Tempo inclusivo trascorso minimo |
Tempo inclusivo trascorso minimo di una chiamata a questa funzione. |