Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Dopo aver impostato e configurato le ottimizzazioni del codice nella tua app, accedi e visualizza gli approfondimenti ricevuti.
Ottimizzazioni del codice di accesso
È possibile accedere alle ottimizzazioni del codice tramite due punti di ingresso principali:
- Tramite la pagina di panoramica consolidata delle ottimizzazioni del codice.
- Tramite singole risorse di Application Insights.
Tramite la pagina di panoramica consolidata delle ottimizzazioni del codice (anteprima)
Visualizzare i risultati delle ottimizzazioni del codice tramite la pagina di panoramica ottimizzazioni del codice. In questa panoramica consolidata è possibile accedere ai risultati tra più sottoscrizioni per più risorse di Application Insights.
È possibile filtrare i risultati consolidati cercando il campo filtro o impostando i filtri seguenti:
| Filtro | Descrizione | Impostazione predefinita |
|---|---|---|
| Intervallo di ore | Selezionare l'intervallo di tempo da cui visualizzare i risultati di Ottimizzazione codice. | Ultime 24 ore |
| Ruolo | Nome del ruolo assegnato al computer o al carico di lavoro Reporting Services. Può essere aggiornato tramite la configurazione di Application Insights. | Tutti i ruoli |
| Abbonamento | Sottoscrizione a cui appartengono le informazioni dettagliate. È possibile selezionare più di una. | Non disponibile |
| Approfondimenti sulle Applicazioni | Risorsa di Application Insights a cui è associata l'applicazione. È possibile selezionare più di una. | Non disponibile |
| Tipo di informazione dettagliata | Tipo di problema, ad esempio CPU, memoria o blocco. | Tutti i tipi |
È quindi possibile ordinare le colonne nei risultati delle informazioni dettagliate in base alla visualizzazione desiderata, tra cui:
- Problema di prestazioni
- Nome completo del metodo padre
Tramite singole risorse di Application Insights
È possibile accedere alle ottimizzazioni del codice specifiche delle singole risorse di Application Insights dal menu a sinistra di tale risorsa. Fare clic su Analisi>prestazioni e selezionare il pulsante Ottimizzazioni codice dal menu in alto.
È possibile filtrare i risultati consolidati cercando il campo filtro o impostando i filtri seguenti:
| Filtro | Descrizione | Impostazione predefinita |
|---|---|---|
| Intervallo di ore | Selezionare l'intervallo di tempo da cui visualizzare i risultati di Ottimizzazione codice. | Ultime 24 ore |
| Ruolo | Nome del ruolo assegnato al computer o al carico di lavoro Reporting Services. Può essere aggiornato tramite la configurazione di Application Insights. | Tutti i ruoli |
| Tipo di informazione dettagliata | Tipo di problema, ad esempio CPU, memoria o blocco. | Tutti i tipi |
È quindi possibile ordinare le colonne nei risultati delle informazioni dettagliate in base alla visualizzazione desiderata, tra cui:
- Problema di prestazioni
- Numero di profili che contengono il problema
- Nome completo del metodo padre
Interpretare le percentuali di utilizzo massime della memoria e della CPU stimate
La CPU e la memoria stimate vengono determinate in base alla quantità di attività nell'applicazione. Oltre alle percentuali di memoria e CPU, le ottimizzazioni del codice includono anche:
- Dimensioni effettive di allocazione (in byte)
- Suddivisione delle tipologie assegnate effettuata all'interno della chiamata
Memoria
Per Memoria, il numero è una percentuale di tutte le allocazioni effettuate all'interno della traccia. Ad esempio, se un problema richiede il 24% di memoria, è stato speso il 24% di tutte le allocazioni all'interno di tale chiamata.
CPU (unità centrale di elaborazione)
Per la CPU, la percentuale è basata sul numero di CPU nel computer (quattro core, otto core e così via) e sul tempo di traccia. Si supponga, ad esempio, che la traccia sia lunga 10 secondi e si disponga di 4 CPU: si dispone di un totale di 40 secondi di tempo cpu. Se le informazioni dettagliate dicono che la riga di codice usa il 5% della CPU, usa il 5% di 40 secondi o 2 secondi.
Processi bloccati
Mostra dove i thread hanno impiegato tempo in attesa di risorse, ad esempio operazioni di I/O, blocchi o sospensioni. Il tempo di blocco viene segnalato in secondi e aggregato in tutti i thread e nei core, in modo che i totali possano superare la durata dell'acquisizione, seguendo la stessa regola di aggregazione delle metriche della CPU.
Utilizzare questa metrica per identificare rapidamente i colli di bottiglia della latenza, ad esempio:
- Conflitto di blocco tra thread
- Operazioni di I/O sincrone
- Blocco delle chiamate durante le operazioni asincrone
Visualizza informazioni dettagliate
Dopo aver ordinato e filtrato i risultati delle ottimizzazioni del codice, è possibile selezionare ogni informazione per visualizzare i dettagli seguenti in un riquadro:
- Descrizione dettagliata delle informazioni dettagliate sui bug sulle prestazioni.
- L'intero stack di chiamate.
- Consigli su come risolvere il problema di prestazioni.
- Cronologia dell'impatto delle tendenze sul problema e della soglia.
Approfondimenti
La scheda Insights fornisce:
- Breve descrizione del problema selezionato.
- Stato attuale della memoria o dell'uso della CPU delle tue risorse.
- Raccomandazione generata dall'intelligenza artificiale per la risoluzione del problema.
Annotazioni
Se non vengono visualizzate informazioni dettagliate, è probabile che il servizio Ottimizzazioni codice non abbia notato colli di bottiglia delle prestazioni nel codice. Continuare a controllare di nuovo per verificare se vengono visualizzate informazioni dettagliate.
Stack di chiamate
Nel riquadro dei dettagli approfonditi, sotto la voce Stack di chiamate, è possibile:
- Selezionare Espandi per visualizzare lo stack di chiamate completo che circonda il problema di prestazioni
- Selezionare Copia per copiare lo stack di chiamate.
Sequenza temporale
Nel riquadro dei dettagli, in Sequenza temporale, è anche possibile visualizzare un grafico che illustra la sequenza temporale dell'impatto e della soglia di un problema di prestazioni specifico. I risultati variano a seconda dei filtri impostati. Ad esempio, le informazioni dettagliate sui problemi di prestazioni "String.SubString() inefficiente" rilevate nelle ultime 24 ore possono essere simili alle seguenti: