La ricerca delle transazioni è una funzionalità di Application Insights usata per trovare ed esplorare singoli elementi di telemetria, ad esempio visualizzazioni pagina, eccezioni o richieste Web. È anche possibile visualizzare tracce di log ed eventi codificati.
Per query più complesse sui dati, usare Log Analytics.
Dove si trova Ricerca?
È possibile trovare La ricerca nella portale di Azure o in Visual Studio.
Nel portale di Azure
È possibile aprire la ricerca delle transazioni dalla scheda Panoramica di Application Insights dell'applicazione. È anche possibile selezionare Cerca in Ricerca nel menu a sinistra.
Passare al menu a discesa Tipi di eventi per visualizzare un elenco di elementi di telemetria, ad esempio richieste server, visualizzazioni pagina ed eventi personalizzati codificati. Nella parte superiore dell'elenco Risultati è presente un grafico di riepilogo che mostra i conteggi degli eventi nel tempo.
Tornare al menu a discesa o selezionare Aggiorna per ottenere nuovi eventi.
In Visual Studio
In Visual Studio è disponibile anche una finestra di ricerca di Application Insights. È più utile per visualizzare gli eventi di telemetria generati dall'applicazione di cui si esegue il debug. È inoltre possibile visualizzare gli eventi raccolti dall'app pubblicata nel portale di Azure.
Aprire la finestra Di ricerca di Application Insights in Visual Studio:
La finestra Di ricerca di Application Insights include funzionalità simili al portale Web:
La scheda Track Operation è disponibile quando si apre una richiesta o una visualizzazione pagina. Un'operazione è una sequenza di eventi associati a una singola richiesta o visualizzazione pagina. Ad esempio, chiamate di dipendenza, eccezioni, log di traccia ed eventi personalizzati potrebbero far parte di una singola operazione. La scheda Track Operation (Operazione traccia) mostra graficamente la tempistica e la durata di questi eventi in relazione alla visualizzazione richiesta o pagina.
Controllare i singoli elementi
Selezionare qualsiasi elemento di dati di telemetria per visualizzare i campi chiave e gli elementi correlati.
Verrà visualizzata la visualizzazione dei dettagli delle transazioni end-to-end.
I tipi di eventi sono i seguenti:
Aprire il menu a discesa Tipi di evento e scegliere i tipi di evento da visualizzare. Per ripristinare i filtri in un secondo momento, selezionare Reimposta.
I tipi di eventi sono i seguenti:
- Traccia: log di diagnostica che includono chiamate TrackTrace, log4Net, NLog e System.Diagnostic.Trace.
- Richiesta: richieste HTTP ricevute dall'applicazione server, tra cui pagine, script, immagini, file di stile e dati. Questi eventi vengono usati per creare grafici di panoramica di richieste e risposte.
- Visualizzazione pagina: telemetria inviata dal client Web usato per creare report di visualizzazione pagina.
- Evento personalizzato: se sono state inserite chiamate a
TrackEvent()
per monitorare l'utilizzo, è possibile cercarle qui.
- Eccezione: eccezioni non rilevate nel server e le eccezioni che si registrano tramite
TrackException()
.
- Dipendenza: chiamate dall'applicazione server ad altri servizi, ad esempio API REST o database, e chiamate AJAX dal codice client.
- Disponibilità: risultati dei test di disponibilità
Filtrare in base ai valori delle proprietà
È possibile filtrare gli eventi in base ai valori delle relative proprietà. Le proprietà disponibili dipendono dai tipi di eventi selezionati. Selezionare Filtro per avviare.
La mancata scelta dei valori di una determinata proprietà ha lo stesso effetto della scelta di tutti i valori. Viene disattivata l'applicazione dei filtri per quella proprietà.
Si noti che il numero a destra dei valori di filtro mostra quante occorrenze sono incluse nel set filtrato corrente.
Trovare gli eventi con la stessa proprietà
Per trovare tutti gli elementi con lo stesso valore della proprietà, immetterlo nella casella Di ricerca o selezionare la casella di controllo quando si esaminano le proprietà nella scheda Filtro .
Eseguire ricerche nei dati
Nota
Per scrivere query più complesse, aprire Log (Analisi) nella parte superiore del riquadro Ricerca .
È possibile cercare i termini in uno dei valori delle proprietà. Questa funzionalità è utile se si scrivono eventi personalizzati con valori di proprietà.
È possibile impostare un intervallo di tempo perché le ricerche su un intervallo più breve sono più veloci.
Cercare parole complete, non sottostringhe. Utilizzare le virgolette per racchiudere i caratteri speciali.
String |
Non trovato |
Trovato |
ControllerHome.Info |
home
controller
out |
homecontroller
about
"homecontroller.about" |
Stati Uniti |
Uni
ted |
united
states
united AND states
"united states" |
È possibile usare le espressioni di ricerca seguenti:
Query di esempio |
Effetto |
apple |
Trovare tutti gli eventi nell'intervallo di tempo i cui campi includono la parola apple . |
apple AND banana
apple banana |
Individuazione di eventi che contengono entrambe le parole. Usare maiuscole AND , non and . Forma breve. |
apple OR banana |
Individuazione degli eventi che contengono una delle parole. Usare OR , non or . |
apple NOT banana |
Individua eventi che contengono una parola ma non l'altra. |
Campionamento
Se l'app genera dati di telemetria significativi e usa ASP.NET SDK versione 2.0.0-beta3 o successiva, riduce automaticamente il volume inviato al portale tramite il campionamento adattivo. Questo modulo invia solo una frazione rappresentativa di eventi. Seleziona o deseleziona gli eventi correlati alla stessa richiesta di un gruppo, consentendo di spostarsi tra eventi correlati.
Informazioni sul campionamento.
Creare un elemento di lavoro
È possibile creare un bug in GitHub o Azure DevOps con i dettagli provenienti da qualsiasi elemento di dati di telemetria.
Passare alla visualizzazione dettagli transazione end-to-end selezionando qualsiasi elemento di telemetria. Selezionare quindi Crea elemento di lavoro.
La prima volta che si esegue questo passaggio, viene chiesto di configurare un collegamento all'organizzazione e al progetto di Azure DevOps. È anche possibile configurare il collegamento nella scheda Elementi di lavoro.
Inviare altri dati di telemetria ad Application Insights
Oltre la telemetria predefinita inviata da Application Insights SDK, è possibile:
Acquisire le tracce del log dal framework di registrazione preferito in .NET o Java. Ciò significa che è possibile cercare le tracce del log e metterle in correlazione con le visualizzazioni pagina, le eccezioni e altri eventi.
Scrivere codice per inviare eventi personalizzati, visualizzazioni pagina ed eccezioni.
Informazioni su come inviare log e dati di telemetria personalizzati ad Application Insights.
Domande frequenti
Risposte a domande comuni.
Quanti dati vengono conservati?
Vedere il Riepilogo dei limiti.
Come è possibile visualizzare dati POST nelle richieste server?
I dati POST non vengono registrati automaticamente, ma è possibile usare TrackTrace o chiamate di log. Inserire i dati POST nel parametro del messaggio. Non è possibile filtrare in base al messaggio nello stesso modo delle proprietà, ma il limite delle dimensioni è maggiore.
Perché la ricerca di Funzioni di Azure non restituisce risultati?
Funzioni di Azure non registra stringhe di query URL.
L'esperienza di diagnostica unificata correla automaticamente i dati di telemetria lato server di tutti i componenti monitorati di Application Insights in un'unica vista. Non importa se si dispone di più risorse. Application Insights rileva la relazione sottostante e consente di diagnosticare facilmente il componente, la dipendenza o l'eccezione dell'applicazione che ha causato un errore o un rallentamento nella transazione.
Che cos'è un componente?
I componenti sono parti distribuibili in modo indipendente dell'applicazione distribuita o microservizio. Gli sviluppatori e i team delle operazioni hanno visibilità o accesso a livello di codice ai dati di telemetria generati dai componenti di queste applicazioni.
- I componenti sono diversi dalle dipendenze esterne "osservate", ad esempio sql e hub eventi, a cui il team o l'organizzazione potrebbero non avere accesso (codice o telemetria).
- I componenti vengono eseguiti in un numero qualsiasi di istanze di server, ruolo o contenitore.
- I componenti possono essere chiavi di strumentazione separate di Application Insights, anche se le sottoscrizioni sono diverse. I componenti possono anche essere ruoli diversi che segnalano a una singola chiave di strumentazione di Application Insights. La nuova esperienza mostra i dettagli in tutti i componenti, indipendentemente dalla modalità di configurazione.
Nota
Mancano i collegamenti agli elementi correlati? Tutti i dati di telemetria correlati si trovano sul lato sinistro nelle sezioni superiore e inferiore .
Esperienza di diagnostica delle transazioni
Questa vista ha quattro parti chiave:
- un elenco risultati
- un grafico delle transazioni tra componenti
- un elenco di sequenze temporali di tutti i dati di telemetria correlati a questa operazione
- riquadro dei dettagli per qualsiasi elemento di telemetria selezionato
Grafico delle transazioni tra componenti
Questo grafico fornisce una sequenza temporale con barre orizzontali durante le richieste e le dipendenze tra i componenti. Anche le eccezioni raccolte vengono contrassegnate sulla sequenza temporale.
- La riga superiore di questo grafico rappresenta il punto di ingresso. Si tratta della richiesta in ingresso al primo componente chiamato in questa transazione. La durata è il tempo totale impiegato per il completamento della transazione.
- Tutte le chiamate a dipendenze esterne sono semplici righe noncollapsible, con icone che rappresentano il tipo di dipendenza.
- Le chiamate ad altri componenti sono rappresentate da righe comprimibili. Ogni riga corrisponde a un'operazione specifica richiamata nel componente.
- Per impostazione predefinita, la richiesta, la dipendenza o l'eccezione selezionata viene visualizzata sul lato. Selezionare una riga per visualizzarne i dettagli.
Nota
Le chiamate ad altri componenti hanno due righe. Una riga rappresenta la chiamata in uscita (dipendenza) dal componente chiamante. L'altra riga corrisponde alla richiesta in ingresso nel componente chiamato. L'icona iniziale e lo stile diverso delle barre della durata consentono di distinguere le chiamate tra loro.
Tutti i dati di telemetria con questo ID operazione
Questa sezione mostra una visualizzazione elenco flat in una sequenza temporale di tutti i dati di telemetria correlati a questa transazione. Mostra anche gli eventi e le tracce personalizzati che non vengono visualizzati nel grafico delle transazioni. È possibile filtrare l'elenco in modo che i dati di telemetria generati da un componente o una chiamata specifici. È possibile selezionare qualsiasi elemento di telemetria in questo elenco per visualizzare i dettagli corrispondenti sul lato.
Dettagli dei dati di telemetria selezionati
Questo riquadro collapible mostra i dettagli di qualsiasi elemento selezionato dal grafico delle transazioni o dall'elenco. Mostra tutti gli elenchi di tutti gli attributi standard raccolti. Tutti gli attributi personalizzati vengono elencati separatamente nel set standard. Selezionare il pulsante con i puntini di sospensione (...) nella finestra di traccia Stack di chiamate per ottenere un'opzione per copiare la traccia. Aprire le tracce del profiler e Aprire lo snapshot di debug mostra la diagnostica a livello di codice nei riquadri dettagli corrispondenti.
Risultati della ricerca
Questo riquadro comprimibile mostra altri risultati che soddisfano i criteri del filtro. Selezionare un risultato per aggiornare i rispettivi dettagli delle tre sezioni precedenti. Cerchiamo di trovare campioni che hanno maggiori probabilità di avere i dettagli disponibili da tutti i componenti, anche se il campionamento è attivo in uno di essi. Questi esempi vengono visualizzati come suggerimenti.
Profiler e Snapshot Debugger
Application Insights Profiler o Snapshot Debugger sono utili per la diagnostica a livello di codice dei problemi di prestazioni e errori. Con questa esperienza, è possibile visualizzare tracce o snapshot del profiler da qualsiasi componente con una singola selezione.
Se non è possibile ottenere il funzionamento di Profiler, contattare serviceprofilerhelp@microsoft.com.
Se non è possibile ottenere il funzionamento di Snapshot Debugger, contattare snapshothelp@microsoft.com.
Domande frequenti
Questa sezione fornisce le risposte alle domande comuni.
Perché viene visualizzato un singolo componente nel grafico e gli altri componenti vengono visualizzati solo come dipendenze esterne senza dettagli?
Possibili motivi:
- Gli altri componenti sono instrumentati con Application Insights?
- Usano l'SDK di Application Insights più recente e stabile?
- Se questi componenti sono risorse di Application Insights separate, verificare di avere accesso.
Se si ha accesso e i componenti vengono instrumentati con gli SDK di Application Insights più recenti, segnalarlo tramite il canale di feedback nell'angolo superiore destro.
Il grafico mostra righe duplicate per le dipendenze. Questo comportamento è previsto?
Attualmente, viene visualizzata la chiamata di dipendenza in uscita separata dalla richiesta in ingresso. In genere, le due chiamate hanno un aspetto identico con solo il valore di durata diverso a causa del round trip di rete. L'icona iniziale e lo stile diverso delle barre della durata consentono di distinguere le chiamate tra loro. Questa organizzazione dei dati crea confusione? Inviare i propri commenti.
Perché ci sono degli sfasamenti di orario tra le diverse istanze del componente?
Le sequenze temporali vengono modificate in base agli sfasamenti di orario nel grafico delle transazioni. È possibile visualizzare i timestamp esatti nel riquadro dei dettagli o usando Log Analytics.
Questo comportamento è impostato a livello di progettazione. Tutti gli elementi correlati, in tutti i componenti, sono già disponibili sul lato sinistro nelle sezioni superiore e inferiore. La nuova esperienza presenta due elementi correlati che non sono riportati a sinistra: tutti i dati di telemetria generati nei cinque minuti precedenti e successivi a questo evento e la sequenza temporale dell'utente.
È possibile visualizzare un minor numero di eventi per transazione quando si usa Application Insights JavaScript SDK?
L'esperienza di diagnostica delle transazioni mostra tutti i dati di telemetria in una singola operazione che condivide un ID operazione. Per impostazione predefinita, Application Insights SDK per JavaScript crea una nuova operazione per ogni visualizzazione pagina univoca. In un'applicazione a pagina singola viene generato un solo evento di visualizzazione pagina e viene usato un singolo ID operazione per tutti i dati di telemetria generati. Di conseguenza, molti eventi potrebbero essere correlati alla stessa operazione.
In questi scenari, è possibile usare il rilevamento automatico delle route per creare automaticamente nuove operazioni per lo spostamento nell'applicazione a pagina singola. È necessario attivare enableAutoRouteTracking in modo che venga generata una visualizzazione pagina ogni volta che viene aggiornata la route URL (si verifica la visualizzazione pagina logica). Se si vuole aggiornare manualmente l'ID operazione, chiamare appInsights.properties.context.telemetryTrace.traceID = Microsoft.ApplicationInsights.Telemetry.Util.generateW3CId()
. L'attivazione manuale di un evento PageView reimposta anche l'ID operazione.
Perché le durate dei dettagli delle transazioni non si sommano alla durata della richiesta superiore?
Il tempo non illustrato nel diagramma di Gantt è l'ora che non è coperta da una dipendenza rilevata. Questo problema può verificarsi perché le chiamate esterne non sono state instrumentate, automaticamente o manualmente. Può verificarsi anche perché il tempo impiegato è stato in corso invece che a causa di una chiamata esterna.
Se tutte le chiamate sono state instrumentate, in processo è la probabile causa radice per il tempo trascorso. Uno strumento utile per la diagnosi del processo è il profiler di Application Insights.
Cosa accade se viene visualizzato il messaggio Errore durante il recupero dei dati durante l'esplorazione di Application Insights nella portale di Azure?
Questo errore indica che il browser non è stato in grado di chiamare un'API necessaria oppure l'API ha restituito una risposta di errore. Per risolvere i problemi relativi al comportamento, aprire una finestra InPrivate del browser e disabilitare tutte le estensioni del browser in esecuzione, quindi identificare se è comunque possibile riprodurre il comportamento del portale. Se l'errore del portale si verifica ancora, provare a eseguire test con altri browser o altri computer, analizzare i problemi relativi al DNS o ad altri problemi correlati alla rete dal computer client in cui le chiamate API hanno esito negativo. Se l'errore del portale continua e richiede altre indagini, raccogliere una traccia di rete del browser riproducendo il comportamento imprevisto del portale, quindi aprire un caso di supporto dal portale di Azure.