Modello di dati di Application Insights Telemetry
Application Insights invia dati di telemetria dall'applicazione Web al portale di Azure, in modo da poter analizzare le prestazioni e l'uso dell'applicazione. Il modello di dati di telemetria è standardizzato e di conseguenza è possibile creare scenari di monitoraggio indipendenti dalla piattaforma e dal linguaggio.
I dati raccolti da Application Insights creano questo tipico modello di esecuzione dell'applicazione.
Per monitorare l'esecuzione dell'applicazione si usano i tipi di dati di telemetria che seguono. Application Insights SDK dal framework applicazione Web raccoglie automaticamente questi tre tipi:
Richiesta: tipo generato per registrare una richiesta ricevuta dall'applicazione. Ad esempio, la versione Web di Application Insights SDK genera automaticamente un elemento di telemetria di tipo richiesta per ogni richiesta HTTP ricevuta dall'app Web.
Un'operazione è costituita dai thread di esecuzione che elaborano una richiesta. È anche possibile scrivere codice per monitorare altri tipi di operazioni, ad esempio la "riattivazione" di un processo Web o di una funzione che periodicamente elabora i dati. Ogni operazione presenta un ID. L'ID può essere usato per raggruppare tutti i dati di telemetria generati durante l'elaborazione della richiesta da parte dell'app. Ogni operazione ha un esito positivo o negativo e una certa durata.
Eccezione: rappresenta in genere un'eccezione che causa l'esito negativo dell'operazione.
Dipendenza: rappresenta una chiamata dall'applicazione a un servizio esterno o a una risorsa di archiviazione, ad esempio a un'API REST o a SQL. In ASP.NET le chiamate di dipendenza a SQL sono definite da
System.Data
. Le chiamate agli endpoint HTTP sono definite daSystem.Net
.
Application Insights offre altri tre tipi di dati per la telemetria personalizzata:
- Traccia: tipo usato direttamente o tramite un adapter per implementare la registrazione diagnostica con un framework di strumentazione con cui si ha familiarità, ad esempio
Log4Net
oSystem.Diagnostics
. - Evento: tipo usato in genere per acquisire l'interazione dell'utente con il servizio per analizzare i modelli di utilizzo.
- Metrica: tipo usato per indicare le misurazioni scalari periodiche.
Ogni elemento di telemetria può definire informazioni di contesto quali la versione dell'applicazione o l’ID della sessione utente. Il contesto è un set di campi fortemente tipizzati che sblocca determinati scenari. Quando la versione dell'applicazione viene inizializzata correttamente, Application Insights può rilevare nuovi modelli di comportamento dell'applicazione in correlazione con la ridistribuzione.
È possibile usare l'ID sessione per calcolare un'interruzione o un impatto del problema sugli utenti. Il calcolo dei valori distinti dell'ID sessione per determinate dipendenze non riuscite, tracce di errore o eccezioni critiche offre una buona conoscenza dell'impatto.
Il modello di dati di Application Insights Telemetry definisce una modalità di correlazione dei dati di telemetria all'operazione di cui fanno parte. Una richiesta può ad esempio di effettuare chiamate a un database SQL e registrare informazioni di diagnostica. È possibile impostare il contesto di correlazione per gli elementi di telemetria che lo legano di nuovo alla telemetria delle richieste.
Miglioramenti allo schema
Il modello di dati di Application Insights rappresenta un modo pratico, ma potente, per modellare i dati di telemetria dell'applicazione. Microsoft si impegna a mantenere il modello semplice ed essenziale in modo da supportare gli scenari essenziali e da consentire l'estensione dello schema per un uso avanzato.
Per segnalare problemi e suggerimenti relativi al modello di dati o allo schema, usare il repository GitHub.
Richiedi
In Application Insights, un elemento di telemetria delle richieste rappresenta la sequenza logica di esecuzione attivata da una richiesta esterna all'applicazione. Ogni esecuzione di richiesta è identificata da un id
univoco e un url
che contiene tutti i parametri di esecuzione.
È possibile raggruppare le richieste in base al name
logico e definire il source
della richiesta. L'esecuzione del codice può restituire un campo success
o fail
e ha un campo duration
specificato. È possibile raggruppare ulteriormente le esecuzioni riuscite e non riuscite usando resultCode
. L'ora di inizio della telemetria delle richieste è definita a livello di busta.
La telemetria delle richieste supporta il modello di estendibilità standard usando properties
e measurements
personalizzate.
Nota
Il 31 marzo 2025, il supporto per l'inserimento delle chiavi di strumentazione terminerà. L'inserimento delle chiavi di strumentazione continuerà a funzionare, ma non saranno più garantiti aggiornamenti o supporto per la funzionalità. Eseguire la transizione alle stringhe di connessione per sfruttare le nuove funzionalità.
Nome
Questo campo è il nome della richiesta e rappresenta il percorso del codice impiegato per elaborare la richiesta. Un valore di cardinalità basso consente un raggruppamento migliore delle richieste. Per le richieste HTTP, rappresenta il metodo HTTP e un modello di percorso URL, ad esempio GET /values/{id}
, senza il valore di id
effettivo.
Application Insights Web SDK invia un nome di richiesta "così com'è" riguardo a maiuscole/minuscole. Il raggruppamento nell'interfaccia utente considera la distinzione tra maiuscole e minuscole, pertanto GET /Home/Index
viene considerato diverso da GET /home/INDEX
, anche se spesso riguardano l'esecuzione della stessa azione e dello stesso controller. Ciò accade perché gli URL rilevano in genere la distinzione tra maiuscole e minuscole. Potrebbe essere necessario verificare se tutti gli errori 404
si sono verificati per gli URL digitati in lettere maiuscole. Altre informazioni sulla raccolta di nomi di richiesta da ASP.Net Web SDK sono disponibili nel post di blog.
Lunghezza massima: 1.024 caratteri
ID
L'ID è l'identificatore dell'istanza di una chiamata di richiesta. Viene usato per la correlazione tra richiesta e altri elementi di telemetria. L'ID deve essere globalmente univoco. Per altre informazioni, vedere Correlazione di dati di telemetria in Application Insights.
Lunghezza massima: 128 caratteri
URL
L'URL è l'URL della richiesta con tutti i parametri di stringa di query.
Lunghezza massima: 2.048 caratteri
Origine
L'origine è l'origine della richiesta. Esempi sono la chiave di strumentazione o l'indirizzo IP del chiamante. Per altre informazioni, vedere Correlazione di dati di telemetria in Application Insights.
Lunghezza massima: 1.024 caratteri
Durata
La durata della richiesta viene formattata come DD.HH:MM:SS.MMMMMM
. Deve essere un valore positivo e inferiore a 1000
giorni. Questo campo è obbligatorio in quanto la telemetria delle richieste rappresenta l'operazione con un inizio e una fine.
Codice della risposta
Il codice di risposta è il risultato di un'esecuzione della richiesta. È il codice di stato HTTP per le richieste HTTP. Potrebbe trattarsi di un valore HRESULT
o di un tipo di eccezione per altri tipi di richiesta.
Lunghezza massima: 1.024 caratteri
Success
L'esito positivo indica se una chiamata ha avuto esito positivo o negativo. Campo obbligatorio. Quando una richiesta non è impostata in modo esplicito su false
, viene considerata corretta. Se un'eccezione o il codice del risultato dell'errore restituito ha interrotto l'operazione, impostare questo valore su false
.
Per le applicazioni Web, Application Insights definisce una richiesta come riuscita quando il codice di risposta è minore di 400
o uguale a 401
. Esistono tuttavia casi in cui questo mapping predefinito non corrisponde alla semantica dell'applicazione.
Il codice di risposta 404
può indicare "Nessun record" e quindi fare parte del normale flusso. Potrebbe anche indicare un collegamento interrotto. Nel caso di collegamenti interrotti, è possibile implementare una logica più avanzata. È possibile contrassegnare i collegamenti interrotti come errori solo se tali collegamenti vengono individuati nello stesso sito analizzando il riferimento dell'URL. Oppure è possibile contrassegnarli come errori anche quando l'accesso viene effettuato dall'applicazione per dispositivi mobili dell'azienda. Analogamente, i codici 301
e 302
indicano un errore quando si accede dal client che non supporta il reindirizzamento.
Il codice 206
di contenuto parzialmente accettato può indicare un errore di una richiesta globale. Un endpoint di Application Insights riceve, ad esempio, un batch di elementi di telemetria come una singola richiesta. Restituisce 206
quando alcuni elementi del batch non sono stati elaborati correttamente. Un aumento della frequenza di 206
indica un problema che richiede attenzione. Si applica una logica simile a Multi-Status 207
in cui l'esito positivo può essere il peggiore dei codici di risposta separati.
Custom properties
Raccolta nome-valore di proprietà personalizzate: questa raccolta viene usata per estendere i dati di telemetria standard con le dimensioni personalizzate. Alcuni esempi sono lo slot di distribuzione che ha generato dati di telemetria o la proprietà specifica degli elementi di telemetria come il numero d'ordine.
- Lunghezza massima della chiave: 150
- Lunghezza massima del valore: 8.192
Misure personalizzate
Raccolta di misurazioni personalizzate: usare questa raccolta per segnalare misurazioni denominate associate all'elemento di telemetria. Casi d'uso tipici sono i seguenti:
- La dimensioni del payload della telemetria di dipendenza.
- Il numero di elementi in coda elaborati dalla telemetria delle richieste.
- Tempo impiegato da un cliente per terminare il passaggio della procedura guidata completando i dati di telemetria degli eventi.
È possibile eseguire query sulle misure personalizzate in Analisi applicazione:
customEvents
| where customMeasurements != ""
| summarize avg(todouble(customMeasurements["Completion Time"]) * itemCount)
Nota
- Le misure personalizzate sono associate all'elemento di telemetria a cui appartengono Sono soggette al campionamento con l'elemento di telemetria contenente tali misurazioni. Per rilevare una misura che ha un valore indipendente da altri tipi di telemetria, usare Dati di telemetria relativi alle metriche.
- Non usare valori stringa per le misurazioni personalizzate. Sono supportati solo i valori numerici.
Lunghezza massima della chiave: 150
Dipendenza
In Application Insights, la telemetria delle dipendenze rappresenta un'interazione del componente monitorato con un componente remoto, ad esempio SQL o un endpoint HTTP.
Nome
Questo campo è il nome del comando avviato con questa chiamata delle dipendenze. Ha un valore di cardinalità basso. Esempi sono il nome della stored procedure e il modello di percorso URL.
ID
ID è l'identificatore dell'istanza di una chiamata delle dipendenze. Viene usato per la correlazione con l'elemento di telemetria delle richieste corrispondente a questa chiamata delle dipendenze. Per altre informazioni, vedere Correlazione di dati di telemetria in Application Insights.
Dati
Questo campo è il comando avviato da questa chiamata di dipendenza. Esempi sono l'istruzione SQL e l'URL HTTP con tutti i parametri di query.
Type
Questo campo è il nome del tipo di dipendenza. Valore di cardinalità basso per un raggruppamento logico delle dipendenze e l'interpretazione di altri campi come commandName
e resultCode
. Esempi sono SQL, tabelle di Azure e HTTP.
Destinazione
Questo campo è il sito di destinazione di una chiamata di dipendenza. Esempi sono nome del server, indirizzo host. Per altre informazioni, vedere Correlazione di dati di telemetria in Application Insights.
Durata
La durata della richiesta è nel formato DD.HH:MM:SS.MMMMMM
. Deve essere inferiore a 1000
giorni.
Codice risultato
Questo campo è il codice di risultato di una chiamata di dipendenza. Esempi sono il codice di errore SQL e il codice di stato HTTP.
Success
Questo campo indica una chiamata riuscita o non riuscita.
Custom properties
Raccolta nome-valore di proprietà personalizzate: questa raccolta viene usata per estendere i dati di telemetria standard con le dimensioni personalizzate. Alcuni esempi sono lo slot di distribuzione che ha generato dati di telemetria o la proprietà specifica degli elementi di telemetria come il numero d'ordine.
- Lunghezza massima della chiave: 150
- Lunghezza massima del valore: 8.192
Misure personalizzate
Raccolta di misurazioni personalizzate: usare questa raccolta per segnalare misurazioni denominate associate all'elemento di telemetria. Casi d'uso tipici sono i seguenti:
- La dimensioni del payload della telemetria di dipendenza.
- Il numero di elementi in coda elaborati dalla telemetria delle richieste.
- Tempo impiegato da un cliente per terminare il passaggio della procedura guidata completando i dati di telemetria degli eventi.
È possibile eseguire query sulle misure personalizzate in Analisi applicazione:
customEvents
| where customMeasurements != ""
| summarize avg(todouble(customMeasurements["Completion Time"]) * itemCount)
Nota
- Le misure personalizzate sono associate all'elemento di telemetria a cui appartengono Sono soggette al campionamento con l'elemento di telemetria contenente tali misurazioni. Per rilevare una misura che ha un valore indipendente da altri tipi di telemetria, usare Dati di telemetria relativi alle metriche.
- Non usare valori stringa per le misurazioni personalizzate. Sono supportati solo i valori numerici.
Lunghezza massima della chiave: 150
Eccezione
In Application Insights, un'istanza di eccezione rappresenta un'eccezione gestita o non gestita che si è verificata durante l'esecuzione dell'applicazione monitorata.
ID problema
L'ID problema identifica la posizione in cui è stata generata l'eccezione nel codice. Viene usato per il raggruppamento delle eccezioni. In genere è una combinazione di un tipo di eccezione e una funzione dallo stack di chiamate.
Lunghezza massima: 1.024 caratteri
Livello di gravità
Questo campo è il livello di gravità della traccia. Il valore può essere Verbose
, Information
, Warning
, Error
o Critical
.
Dettagli dell'eccezione
(Da aggiungere)
Custom properties
Raccolta nome-valore di proprietà personalizzate: questa raccolta viene usata per estendere i dati di telemetria standard con le dimensioni personalizzate. Alcuni esempi sono lo slot di distribuzione che ha generato dati di telemetria o la proprietà specifica degli elementi di telemetria come il numero d'ordine.
- Lunghezza massima della chiave: 150
- Lunghezza massima del valore: 8.192
Misure personalizzate
Raccolta di misurazioni personalizzate: usare questa raccolta per segnalare misurazioni denominate associate all'elemento di telemetria. Casi d'uso tipici sono i seguenti:
- La dimensioni del payload della telemetria di dipendenza.
- Il numero di elementi in coda elaborati dalla telemetria delle richieste.
- Tempo impiegato da un cliente per terminare il passaggio della procedura guidata completando i dati di telemetria degli eventi.
È possibile eseguire query sulle misure personalizzate in Analisi applicazione:
customEvents
| where customMeasurements != ""
| summarize avg(todouble(customMeasurements["Completion Time"]) * itemCount)
Nota
- Le misure personalizzate sono associate all'elemento di telemetria a cui appartengono Sono soggette al campionamento con l'elemento di telemetria contenente tali misurazioni. Per rilevare una misura che ha un valore indipendente da altri tipi di telemetria, usare Dati di telemetria relativi alle metriche.
- Non usare valori stringa per le misurazioni personalizzate. Sono supportati solo i valori numerici.
Lunghezza massima della chiave: 150
Traccia
In Application Insights, la telemetria di traccia rappresenta le istruzioni di traccia in stile printf
che vengono cercate come testo. Log4Net
, NLog
e altre voci del file di log basato su testo vengono convertite in istanze di questo tipo. La traccia non dispone di misure come l'estendibilità.
Message
Messaggio di traccia.
Lunghezza massima: 32,768 caratteri
Livello di gravità
Livello di gravità della traccia.
Valori: Verbose
, Information
, Warning
, Error
e Critical
Custom properties
Raccolta nome-valore di proprietà personalizzate: questa raccolta viene usata per estendere i dati di telemetria standard con le dimensioni personalizzate. Alcuni esempi sono lo slot di distribuzione che ha generato dati di telemetria o la proprietà specifica degli elementi di telemetria come il numero d'ordine.
- Lunghezza massima della chiave: 150
- Lunghezza massima del valore: 8.192
Event
È possibile creare elementi di telemetria degli eventi (in Application Insights) per rappresentare un evento che si è verificato nell'applicazione. Si tratta in genere di un'interazione dell'utente, ad esempio il clic su un pulsante o un completamento della transazione di un ordine. Può inoltre essere un evento del ciclo di vita dell'applicazione come l'inizializzazione o un aggiornamento della configurazione.
Semanticamente, gli eventi potrebbero essere o non essere correlati alle richieste. Se usata correttamente, la telemetria degli eventi è più importante delle richieste o delle tracce. Gli eventi rappresentano dati di telemetria business e devono essere oggetto di campionamento separato, meno rigido.
Nome
Nome evento: per consentire un raggruppamento adeguato e metriche utili, limitare l'applicazione in modo che generi un numero ridotto di nomi di eventi distinti. Ad esempio, non usare un nome distinto per ogni istanza generata di un evento.
Lunghezza massima: 512 caratteri
Custom properties
Raccolta nome-valore di proprietà personalizzate: questa raccolta viene usata per estendere i dati di telemetria standard con le dimensioni personalizzate. Alcuni esempi sono lo slot di distribuzione che ha generato dati di telemetria o la proprietà specifica degli elementi di telemetria come il numero d'ordine.
- Lunghezza massima della chiave: 150
- Lunghezza massima del valore: 8.192
Misure personalizzate
Raccolta di misurazioni personalizzate: usare questa raccolta per segnalare misurazioni denominate associate all'elemento di telemetria. Casi d'uso tipici sono i seguenti:
- La dimensioni del payload della telemetria di dipendenza.
- Il numero di elementi in coda elaborati dalla telemetria delle richieste.
- Tempo impiegato da un cliente per terminare il passaggio della procedura guidata completando i dati di telemetria degli eventi.
È possibile eseguire query sulle misure personalizzate in Analisi applicazione:
customEvents
| where customMeasurements != ""
| summarize avg(todouble(customMeasurements["Completion Time"]) * itemCount)
Nota
- Le misure personalizzate sono associate all'elemento di telemetria a cui appartengono Sono soggette al campionamento con l'elemento di telemetria contenente tali misurazioni. Per rilevare una misura che ha un valore indipendente da altri tipi di telemetria, usare Dati di telemetria relativi alle metriche.
- Non usare valori stringa per le misurazioni personalizzate. Sono supportati solo i valori numerici.
Lunghezza massima della chiave: 150
Metric
Application Insights supporta due tipi di dati di telemetria delle metriche: misurazione singola e metrica preaggregata. La misura singola è costituita semplicemente da un nome e un valore. La metrica preaggregata specifica i valori minimo e massimo della metrica nell'intervallo di aggregazione e la relativa deviazione standard.
La metrica dei dati di telemetria preaggregata presuppone che il periodo di aggregazione sia di un minuto.
Application Insights supporta diversi nomi di metriche noti. Queste metriche vengono inserite nella tabella performanceCounters
.
La tabella seguente illustra le metriche che rappresentano i contatori di sistema e di elaborazione.
Nome .NET | Nome indipendente dalla piattaforma | Descrizione |
---|---|---|
\Processor(_Total)\% Processor Time |
Lavoro in corso... | CPU computer totale. |
\Memory\Available Bytes |
Lavoro in corso... | Mostra la quantità di memoria fisica, espressa in byte, disponibile per l'esecuzione dei processi nel computer. Viene calcolata sommando la quantità di spazio negli elenchi di memoria azzerata, libera e in standby. La memoria libera è pronta per l'uso. La memoria con zero è costituita da pagine di memoria riempite con zeri per impedire ai processi successivi di visualizzare i dati usati da un processo precedente. La memoria di standby è la memoria che è stata rimossa dal working set di un processo (la relativa memoria fisica) instradata al disco, ma è ancora disponibile per essere richiamata. Vedere Oggetto Memory. |
\Process(??APP_WIN32_PROC??)\% Processor Time |
Lavoro in corso... | CPU del processo che ospita l'applicazione. |
\Process(??APP_WIN32_PROC??)\Private Bytes |
Lavoro in corso... | Memoria usata dal processo che ospita l'applicazione. |
\Process(??APP_WIN32_PROC??)\IO Data Bytes/sec |
Lavoro in corso... | Frequenza delle operazioni I/O eseguite dal processo che ospita l'applicazione. |
\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests/Sec |
Lavoro in corso... | Frequenza delle richieste elaborate da un'applicazione. |
\.NET CLR Exceptions(??APP_CLR_PROC??)\# of Exceps Thrown / sec |
Lavoro in corso... | Frequenza delle eccezioni generate da un'applicazione. |
\ASP.NET Applications(??APP_W3SVC_PROC??)\Request Execution Time |
Lavoro in corso... | Tempo di esecuzione medio delle richieste. |
\ASP.NET Applications(??APP_W3SVC_PROC??)\Requests In Application Queue |
Lavoro in corso... | Numero di richieste in attesa dell'elaborazione in una coda. |
Per altre informazioni sull'API REST delle metriche, vedere Metriche - Get.
Nome
Questo campo è il nome della metrica che si vuole visualizzare nel portale di Application Insights e nell'interfaccia utente.
Valore
Questo campo è il singolo valore per la misurazione. È la somma delle singole misure per l'aggregazione.
Conteggio
Questo campo è il peso della metrica aggregata. Non deve essere impostato per una misura.
Min
Questo campo è il valore minimo della metrica aggregata. Non deve essere impostato per una misura.
Max
Questo campo è il valore massimo della metrica aggregata. Non deve essere impostato per una misura.
Deviazione standard
Questo campo è la deviazione standard della metrica aggregata. Non deve essere impostato per una misura.
Custom properties
La metrica con la proprietà personalizzata CustomPerfCounter
impostata su true
indicano che rappresentano il contatore delle prestazioni di Windows. Queste metriche vengono inserite nella performanceCounters
tabella, non in customMetrics
. Viene analizzato anche il nome di queste metriche per estrarre i nomi di categoria, contatore e istanza.
Raccolta nome-valore di proprietà personalizzate: questa raccolta viene usata per estendere i dati di telemetria standard con le dimensioni personalizzate. Alcuni esempi sono lo slot di distribuzione che ha generato dati di telemetria o la proprietà specifica degli elementi di telemetria come il numero d'ordine.
- Lunghezza massima della chiave: 150
- Lunghezza massima del valore: 8.192
PageView
I dati di telemetria PageView (in Application Insights) vengono registrati quando un utente dell'applicazione apre una nuova pagina di un'applicazione monitorata. Page
in questo contesto è un'unità logica definita dallo sviluppatore per essere una scheda dell'applicazione o una schermata e non è necessariamente correlata a un caricamento della pagina Web del browser o a un'azione di aggiornamento. Questa distinzione può essere ulteriormente compresa nel contesto delle applicazioni a pagina singola, in cui il passaggio tra le pagine non è associato alle azioni della pagina del browser. pageViews.duration
è il tempo necessario per l'applicazione per presentare la pagina all'utente.
Nota
- Per impostazione predefinita, gli SDK di Application Insights registrano singoli eventi
PageView
in ogni azione di caricamento della pagina Web del browser, conpageViews.duration
popolato in base all'intervallo del browser. Gli sviluppatori possono estendere il rilevamento aggiuntivo degli eventiPageView
usando la chiamata API trackPageView. - La conservazione dei log predefinita è di 30 giorni. Se si desidera visualizzare le statistiche
PageView
per un periodo di tempo più lungo, è necessario modificare l'impostazione.
Misurare il browserTiming in Application Insights
I browser moderni espongono misurazioni per le azioni di caricamento delle pagine con l'API Prestazioni. Application Insights semplifica queste misurazioni consolidando i tempi correlati in metriche del browser standard, come definito dalle definizioni del tempo di elaborazione seguenti:
Client <--> DNS: il client raggiunge il DNS per risolvere il nome host del sito Web e DNS risponde con l'indirizzo IP.
Client <--> Server Web: il client crea TCP e quindi handshake TLS con il server Web.
Client <--> Server Web: il client invia il payload della richiesta, attende che il server esegua la richiesta e riceva il primo pacchetto di risposta.
Client <-- Web Server: il client riceve il resto dei byte di payload della risposta dal server Web.
Client: il client ha ora un payload di risposta completo e deve eseguire il rendering del contenuto nel browser e caricare il DOM.
browserTimings/networkDuration
= #1 + #2browserTimings/sendDuration
= #3browserTimings/receiveDuration
= #4browserTimings/processingDuration
= #5browsertimings/totalDuration
= #1 + #2 + #3 + #4 + #5pageViews/duration
La durata
PageView
è dall'interfaccia di intervallo delle prestazioni del browser,PerformanceNavigationTiming.duration
.Se
PerformanceNavigationTiming
è disponibile, viene utilizzata tale durata.In caso contrario, viene usata l'interfaccia deprecata
PerformanceTiming
e viene calcolato il delta traNavigationStart
eLoadEventEnd
.Lo sviluppatore specifica un valore di durata quando si registrano eventi personalizzati
PageView
usando la chiamata API trackPageView.
Contesto
Ogni elemento di telemetria può contenere campi di contesto fortemente tipizzati. Ogni campo consente uno specifico scenario di monitoraggio. Usare la raccolta di proprietà personalizzate per archiviare informazioni contestuali personalizzate o specifiche dell'applicazione.
Versione dell'applicazione
Le informazioni contenute nei campi di contesto dell'applicazione si riferiscono sempre all'applicazione che invia i dati di telemetria. La versione dell'applicazione viene usata per analizzare i cambiamenti nei trend di comportamento dell'applicazione e la correlazione con le distribuzioni.
Lunghezza massima: 1.024
Indirizzo IP client
Questo campo è l'indirizzo IP del dispositivo client. Sono supportati i protocolli IPv4 e IPv6. Quando i dati di telemetria vengono inviati da un servizio, il contesto della posizione si riferisce all'utente che ha avviato l'operazione del servizio. Application Insights estrae i dati di geolocalizzazione dall'IP client, per poi troncarli. L'IP client da solo non può quindi essere usato come informazione personale dell'utente.
Lunghezza massima: 46
Tipo di dispositivo
In origine questo campo serviva a indicare il tipo di dispositivo usato dall'utente dell'applicazione. Oggi viene usato principalmente per distinguere i dati di telemetria JavaScript con tipo di dispositivo Browser
dai dati di telemetria lato server con tipo di dispositivo PC
.
Lunghezza massima: 64
ID operazione
Questo campo è l'identificatore univoco dell'operazione radice. Questo identificatore univoco consente di raggruppare i dati di telemetria tra componenti multipli. Per altre informazioni, vedere Correlazione dei dati di telemetria. Una richiesta o una visualizzazione pagina crea l'ID operazione. Tutti gli altri dati di telemetria impostano questo campo sul valore per la richiesta o la visualizzazione pagina che lo contiene.
Lunghezza massima: 128
ID operazione padre
Questo campo è l'identificatore univoco dell'elemento padre diretto dell'elemento di telemetria. Per altre informazioni, vedere Correlazione dei dati di telemetria.
Lunghezza massima: 128
Nome operazione
Questo campo è il nome (gruppo) dell'operazione. Una richiesta o una visualizzazione pagina crea il nome dell'operazione. Tutti gli altri elementi di telemetria impostano questo campo sul valore della richiesta o dalla visualizzazione pagina che lo contiene. Il nome dell'operazione è usato per individuare tutti gli elementi di telemetria per un gruppo di operazioni (ad esempio GET Home/Index
). Questa proprietà di contesto viene usata per rispondere a domande come: Quali sono le eccezioni tipiche generate in questa pagina?
Lunghezza massima: 1.024
Origine sintetica dell'operazione
Questo campo è il nome dell'origine sintetica. Alcuni dati di telemetria generati dall'applicazione possono rappresentare traffico sintetico. Potrebbe trattarsi di agenti di ricerca Web che indicizzano il sito Web, test di disponibilità del sito o tracce di librerie di diagnostica come Application Insights SDK stesso.
Lunghezza massima: 1.024
ID sessione
L'ID sessione è l'istanza di interazione dell'utente con l'app. Le informazioni contenute nei campi di contesto della sessione si riferiscono sempre all'utente. Quando i dati di telemetria vengono inviati da un servizio, il contesto di sessione si riferisce all'utente che ha avviato l'operazione nel servizio.
Lunghezza massima: 64
ID utente anonimo
L'ID utente anonimo (User.Id) rappresenta l'utente dell'applicazione. Quando i dati di telemetria vengono inviati da un servizio, il contesto utente si riferisce all'utente che ha avviato l'operazione nel servizio.
Il campionamento è una delle tecniche usate per ridurre al minimo la quantità di dati di telemetria raccolti. Un algoritmo di campionamento tenta di sondare tutti i dati di telemetria correlati in ingresso o in uscita. Viene usato un ID utente anonimo per la generazione del punteggio di campionamento, quindi un ID utente anonimo deve essere un valore sufficientemente casuale.
Nota
Il numero di ID utente anonimi non corrisponde al numero di utenti univoci dell'applicazione. Il numero di ID utente anonimi è in genere superiore perché ogni volta che l'utente apre l'app in un dispositivo o browser diverso o pulisce i cookie del browser, viene allocato un nuovo ID utente anonimo univoco. Questo calcolo potrebbe comportare il conteggio degli stessi utenti fisici più volte.
Gli ID utente possono essere a cui si fa riferimento incrociato con ID sessione per fornire dimensioni di telemetria univoche e stabilire un'attività utente per una durata di sessione.
L'uso di un ID utente anonimo per archiviare un nome utente rappresenta un uso improprio del campo. Usare un ID utente autenticato.
Lunghezza massima: 128
ID utente autenticato
Un ID utente autenticato è l'opposto di un ID utente anonimo. Questo campo rappresenta l'utente con un nome descrittivo. Questo ID viene raccolto solo per impostazione predefinita con l'SDK di ASP.NET Framework di AuthenticatedUserIdTelemetryInitializer
.
Usare Application Insights SDK per inizializzare l'ID utente autenticato con un valore che identifica l'utente in modo permanente tra browser e dispositivi. In questo modo, tutti gli elementi di telemetria vengono attribuiti a tale ID univoco. Questo ID può eseguire query per tutti i dati di telemetria raccolti per un utente specifico (in base alle configurazioni di campionamento e al filtro dei dati di telemetria).
Gli ID utente possono essere a cui si fa riferimento incrociato con ID sessione per fornire dimensioni di telemetria univoche e stabilire un'attività utente per una durata di sessione.
Lunghezza massima: 1.024
ID conto
L'ID account, nelle applicazioni multi-tenant, è l'ID o il nome dell'account tenant con cui l'utente sta agendo. Viene usato per una segmentazione più utente quando un ID utente e un ID utente autenticato non sono sufficienti. Alcuni esempi possono essere un ID sottoscrizione per il portale di Azure o il nome del blog per una piattaforma di blog.
Lunghezza massima: 1.024
Ruolo del cloud
Questo campo è il nome del ruolo di cui fa parte l'applicazione. Esegue direttamente il mapping al nome del ruolo in Azure. Consente anche di distinguere i micro servizi che fanno parte di una singola applicazione.
Lunghezza massima: 256
Istanza del ruolo del cloud
Questo campo è il nome dell'istanza in cui è in esecuzione l'applicazione. Ad esempio, è il nome del computer per l'ambiente locale o il nome dell'istanza per Azure.
Lunghezza massima: 256
Informazione interna: versione dell'SDK
Per altre informazioni, vedere la versione dell'SDK.
Lunghezza massima: 64
Informazione interna: nome del nodo
Questo campo rappresenta il nome del nodo usato a scopi di fatturazione. È possibile usarlo per eseguire l'override del rilevamento standard dei nodi.
Lunghezza massima: 256
Domande frequenti
Questa sezione fornisce le risposte alle domande comuni.
Come misurare l'impatto di una campagna di monitoraggio?
La telemetria di PageView include l'URL ed è possibile analizzare il parametro UTM usando una funzione regex in Kusto.
In alcuni casi questi dati potrebbero risultare mancanti o non accurati se l'utente o l'azienda disabilita l'invio dell'agente utente nelle impostazioni del browser. Le espressioni regolari del parser dell'agente utente potrebbero non includere tutte le informazioni sul dispositivo. In alternativa, Application Insights potrebbe non aver adottato gli aggiornamenti più recenti.
Perché una misurazione personalizzata ha esito positivo senza errori, ma il log non viene visualizzato?
Questo problema può verificarsi se si usano valori stringa. Solo i valori numerici funzionano con misurazioni personalizzate.
Passaggi successivi
Informazioni su come usare l'API di Application Insights per metriche ed eventi personalizzati, incluso:
- Dati di telemetria della richiesta personalizzata
- Dati di telemetria delle dipendenze personalizzate
- Dati di telemetria di traccia personalizzata
- Dati di telemetria di eventi personalizzati
- Dati di telemetria delle metriche personalizzati
Impostare il rilevamento delle dipendenze per:
Per altre informazioni, vedere:
- Verificare quali piattaforme supportano Application Insights.
- Estrarre la configurazione di una raccolta di proprietà di contesto standard.
- Esplorare i log di traccia .NET in Application Insights.
- Esplorare i log di traccia Java in Application Insights.
- Informazioni sull'integrazione predefinita di Funzioni di Azure con Application Insights per monitorare le esecuzioni delle funzioni.
- Informazioni su come configurare un'applicazione ASP.NET Core con Application Insights.
- Informazioni su come diagnosticare le eccezioni nelle app Web con Application Insights.
- Informazioni su come estendere e filtrare i dati di telemetria.
- Usare il campionamento per ridurre al minimo la quantità di dati di telemetria in base al modello di dati.