Condividi tramite


Analizza i log generati dal sistema utilizzando Application Insights

Connettere le app canvas ad Application Insights, una funzionalità di Monitoraggio di Azure. Application Insights include strumenti di analisi che aiutano a diagnosticare i problemi e a comprendere il comportamento degli utenti nelle app. Usa le informazioni raccolte per prendere decisioni aziendali migliori e migliorare la qualità delle app.

Prerequisiti

Nota

Per visualizzare le informazioni di telemetria, l'amministratore del tenant deve abilitare le informazioni dettagliate dell'app canvas. Accedi come amministratore all'interfaccia di amministrazione di Power Platform. Seleziona Impostazioni>Impostazioni tenant>Informazioni dettagliate dell'app canvas. Nel riquadro Informazioni dettagliate dell'app canvas, attiva l'interruttore On e salva le modifiche. Per altre informazioni, vedi Impostazioni tenant.

Crea una risorsa Application Insights

Invia i log generati dal sistema da un'app creando una risorsa Application Insights per archiviare gli eventi.

Informazioni su come creare una risorsa basata sull'area di lavoro per Application Insights nel portale Azure.

Connettere l'app ad Application Insights

Nota

  • Quando specifichi una stringa di connessione, ricorda che i dati possono essere inviati tra tenant. Gli eventi di traccia vengono inviati alla risorsa di Application Insights che corrisponde alla stringa di connessione impostata per l'app, anche se l'istanza di Application Insights di destinazione si trova in un tenant diverso rispetto all'app.
  • Fai attenzione quando importi file .msapp esistenti perché potrebbero essere presenti stringhe di connessione per App Insights. Apri manualmente l'app dopo l'importazione per verificare che venga usata la stringa di connessione di App Insights corretta.
  1. Accedere a Power Apps.

  2. Apri un'app da modificare.

  3. Seleziona l'oggetto App dalla visualizzazione ad albero del riquadro di spostamento a sinistra e incolla la risorsa Stringa di connessione dalla risorsa Application Insights.

    Screenshot dell'aggiunta di una stringa di connessione.

  4. Salva e pubblica l'app.

  5. Riproduci l'app pubblicata e sfoglia le diverse schermate.

Quando si accede alle schermate dell'app, gli eventi vengono registrati automaticamente in Application Insights. Questi includono dettagli sull'utilizzo come:

  • Da dove gli utenti accedono all'app
  • Quali dispositivi utilizzano gli utenti
  • I tipi di browser utilizzati dagli utenti

Importante

Riproduci l'app pubblicata per inviare eventi ad Application Insights. Gli eventi non vengono inviati ad Application Insights quando visualizzi l'anteprima dell'app Power Apps Studio.

Visualizzare gli eventi in Application Insights

  1. Accedi al portale di Azure e apri la risorsa Application Insights che hai creato in precedenza:

  2. Nel riquadro di spostamento sinistro, seleziona Utenti sotto la sezione Utilizzo.

    Nota

    La vista Utenti mostra i dettagli di utilizzo dell'app, come ad esempio:

    • Numero di utenti che hanno visualizzato l'app
    • Numero di sessioni utente
    • Numero di eventi registrati
    • Utenti dei sistemi operativi e dettagli della versione del browser
    • Regione e posizione degli utenti

    Ulteriori informazioni sull'analisi degli eventi, sulle sessioni e sugli utenti in Application Insights.

  3. Seleziona una sessione utente per visualizzare dettagli specifici, come la durata della sessione e le schermate visitate.

    Screenshot dei dettagli di utilizzo per gli utenti.

  4. Nel riquadro di spostamento sinistro, seleziona Eventi nella sezione Utilizzo. Puoi visualizzare un riepilogo di tutte le schermate visualizzate in tutte le sessioni dell'app.

    Screenshot dei dettagli dell'evento per l'app.

Suggerimento

Esplora altre funzionalità di Application Insights, come ad esempio:

Creare eventi di traccia personalizzati

Scrivere tracce personalizzate in Application Insights per analizzare informazioni specifiche dell'app. La funzione Analisi ti consente di raccogliere:

  • Informazioni di utilizzo dettagliate per i controlli sugli schermi
  • Quali utenti specifici accedono alla tua app
  • Quali errori si verificano

La traccia consente di diagnosticare i problemi inviando una serie di informazioni mentre gli utenti navigano nell'app ed eseguono azioni. Analizza i messaggi inviati a Application Insights: hanno una delle tre gravità:

  • Informazioni
  • Avviso
  • Error

Inviare un messaggio di traccia con la gravità appropriata in base alla situazione. Puoi eseguire una query sui dati e intraprendere azioni specifiche in base alla gravità.

Nota

Se stai registrando dati personali, tieni presente i tuoi obblighi in relazione alle varie leggi e normative sulla privacy. Fai riferimento al Centro protezione Microsoft e al Portale Service Trust per maggiori informazioni.

Creare un componente nell'app per raccogliere commenti su ogni schermata e registrare gli eventi di log in Application Insights.

  1. Accedere a Power Apps.

  2. Nel riquadro di spostamento sinistro selezionare App. Dall'elenco delle app, seleziona l'app Kudos e quindi seleziona Modifica.

    Nota

    Puoi anche creare una nuova app o modificare un'app esistente.

  3. Seleziona Componenti nella Visualizzazione ad albero:

    Componenti.

  4. Seleziona Nuovo componente, quindi ridimensiona la larghezza su 200 e l'altezza su 75:

    Altezza e larghezza.

  5. Seleziona Inserisci dal menu e quindi seleziona Icone per aggiungere Emoji: Faccia imbronciata ed Emoji: Faccia sorridente:

    Aggiungi icone.

  6. Seleziona Nuova proprietà personalizzata per creare una proprietà personalizzata:

    Crea la proprietà personalizzata.

  7. Immetti la proprietà Nome e Nome visualizzato (ad esempio FeedbackScreen).

  8. Immetti una Descrizione della proprietà.

  9. Seleziona Tipo di proprietà come Input e Tipo di dati come Schermata:

    Personalizza la proprietà.

    Nota

    Una proprietà Input ti consente di acquisire il nome della schermata e il relativo componente in modo da poter registrare queste informazioni in Application Insights.

  10. Seleziona il componente nella Visualizzazione ad albero, seleziona Altre azioni (...), quindi seleziona Rinomina per assegnare al componente un nome significativo ad esempio FeedbackComponent.

    Rinomina il componente e le icone.

  11. Seleziona le icone, seleziona Altre azioni (...), quindi seleziona Rinomina per rinominare le icone con nomi significativi, come FrownIcon e SmileIcon.

  12. Seleziona FrownIcon, seleziona la proprietà OnSelect, quindi immetti la seguente espressione nella barra della formula:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeedbackValue: "-1"
           }
         );
    Notify("Thanks for your feedback!");
    

    Formula dell'icona Faccia imbronciata.

    Nota

    La formula invia UserName, UserEmail, Schermata e Feedback (con il valore -1) ad Application Insights.

  13. Seleziona SmileIcon, seleziona la proprietà OnSelect, quindi immetti la seguente espressione nella barra della formula:

    Trace(
       "App Feedback",
       TraceSeverity.Information,
           {
             UserName: User().FullName,
             UserEmail: User().Email,
             Screen: FeedbackComponent.FeedbackScreen.Name,
             FeebackValue: "1"
           }
         );
    Notify("Thanks for your feedback!");
    
  14. Aggiungi il componente a una delle schermate della tua app:

    Aggiungi il componente feedback.

  15. Seleziona Salva e quindi seleziona Pubblica per salvare e pubblicare la tua app.

  16. Riproduci l'app pubblicata e invia un feedback per la faccia sorridente e la faccia imbronciata dai tuoi schermi.

    Importante

    È necessario riprodurre l'app pubblicata per inviare eventi ad Application Insights. Gli eventi non vengono inviati ad Application Insights quando visualizzi l'anteprima dell'app Power Apps Studio.

    Riproduci l'app pubblicata.

Analizzare i dati personalizzati in Application Insights

Ora puoi iniziare ad analizzare i dati inviati utilizzando la funzione Trace dalla tua app in Application Insights.

  1. Accedi al portale di Azure e apri la risorsa Application Insights che hai creato in precedenza:

    Seleziona Application Insights.

  2. Seleziona Log in Monitoraggio dal riquadro di spostamento a sinistra.

    Seleziona Log.

  3. Immetti la query seguente e seleziona Esegui per visualizzare il feedback dall'app:

    traces
    | where message == "App Feedback"
    | order by timestamp
    

    Visualizza il feedback dell'app.

  4. Seleziona una riga nei risultati ed espandi il campo customDimensions.

    I valori per Schermo, UserName, UserEmail e FeedbackValue per l'evento OnSelect dell'icona faccia sorridente e la faccia imbronciata nel componente. I valori vengono inoltre registrati per ogni evento inviato ad Application Insights, come appId, appName e appSessionId.

    Espandi le dimensioni personalizzate.

  5. Usare la seguente query di esempio, puoi estendere le proprietà delle dimensioni personalizzate JSON e proiettare le colonne nella visualizzazione dei risultati.

    traces
        | extend customdims = parse_json(customDimensions)
        | where message == "App Feedback"
        | project timestamp
            , message
            , AppName = customdims.['ms-appName']
            , AppId = customdims.['ms-appId']
            , FeedbackFrom = customdims.UserEmail
            , Screen = customdims.Screen
            , FeedbackValue = customdims.FeedbackValue
        | order by timestamp desc
    

    Estendi la query CustomDimensions.

    Suggerimento

    Le query di log sono potenti. Usale per unire più tabelle, aggregare grandi quantità di dati ed eseguire operazioni complesse. Altre informazioni sulle query di log.

Analizzare i dati del ciclo di vita delle app in Application Insights

L'evento di riepilogo della sessione viene registrato una volta per sessione e contiene informazioni sull'esito positivo dell'apertura dell'app, sulle sessioni di apertura dell'app ottimali e non ottimali e sulle metriche delle prestazioni di apertura dell'app.

Limiti

Questi eventi sono accurati per le app canvas in esecuzione in un Web browser. Non sono disponibili per le app in esecuzione su Power Apps per dispositivi mobili e i relativi valori potrebbero non essere sempre disponibili o accurati per le pagine personalizzate.

Di seguito è riportata una query di esempio che mostra come accedere all'evento di riepilogo della sessione e a tutti i campi disponibili:

customEvents 
| where name == "PowerAppsClient.PublishedApp.SessionLoadSummary" 
// 
| extend cd = parse_json(customDimensions) 
// 
| extend sessionSummary = parse_json(tostring(cd["ms-sessionSummary"])) 
| extend successfulAppLaunch = tobool(sessionSummary["successfulAppLaunch"]) 
| extend unsuccessfulReason = tostring(sessionSummary["unsuccessfulReason"]) 
| extend appLoadResult = tostring(sessionSummary["appLoadResult"]) 
| extend appLoadNonOptimalReason = 
tostring(sessionSummary["appLoadNonOptimalReason"]) 
// 
| extend timeToAppInteractive = todouble(sessionSummary["timeToAppInteractive"]) 
| extend timeToAppFullLoad = todouble(sessionSummary["timeToAppFullLoad"]) 
// 
| project 
    timestamp, 
    session_Id, 
    successfulAppLaunch, 
    unsuccessfulReason, 
    appLoadResult, 
    appLoadNonOptimalReason, 
    timeToAppInteractive, 
    timeToAppFullLoad 
| limit 5 

I campi seguenti consentono di misurare il successo dell'apertura dell'app e la latenza degli indicatori di prestazioni legati alle esperienze degli utenti finali.

Campo Descrzione
successfulAppLaunch Valore booleano che indica se la sessione ha avviato correttamente l'app
unsuccessfulReason Se la sessione non è riuscita ad avviare l'app, ciò indica il motivo/errore. Questo campo sarà una stringa vuota se la sessione ha avuto esito positivo.
appLoadResult Indica se la sessione è stata ottimale o meno. Valori possibili: ottimale, altro
appLoadNonOptimalReason Se la sessione non è stata ottimale, questo indica il motivo. Valori possibili: interaction-required, throttled, screen-navigated-away, altro
timeToAppInteractive Durata in millisecondi affinché la sessione dell'app raggiunga uno stato interattivo. In questo stato, gli utenti possono iniziare a interagire con la prima schermata, ma i dati potrebbero non essere completamente caricati.
timeToAppFullLoad Durata in millisecondi affinché la sessione dell'app raggiunga uno stato di pieno caricamento, ovvero il completamento del caricamento di tutte le richieste di dati per la prima schermata.

Query di esempio

Apri tassi di successo aperti

Questa query mostrerà la percentuale di successo dell'apertura dell'app per giorno. Può essere utilizzato per valutare i picchi o le tendenze dei problemi che gli utenti potrebbero riscontrare

customEvents 
| where name == "PowerAppsClient.PublishedApp.SessionLoadSummary" 
| extend cd = parse_json(customDimensions) 
| extend sessionSummary = parse_json(tostring(cd["ms-sessionSummary"])) 
| extend successfulAppLaunch = tobool(sessionSummary["successfulAppLaunch"]) 
| summarize 
sessions_total = dcount(session_Id), 
sessions_success = dcountif(session_Id, successfulAppLaunch == true) 
by bin(timestamp, 1d) 
| extend successRate =  
100.0 * (todouble(sessions_success) / todouble(sessions_total)) 
| project timestamp, successRate 
| render timechart

Numero di sessioni non riuscite per motivo

Questa query mostrerà i conteggi delle sessioni non riuscite in base al motivo o all'errore. Può essere usato per eseguire il debug degli errori di apertura delle app o valutare le tendenze dei problemi che gli utenti potrebbero riscontrare.

customEvents 
| where name == "PowerAppsClient.PublishedApp.SessionLoadSummary" 
| extend cd = parse_json(customDimensions) 
| extend sessionSummary = parse_json(tostring(cd["ms-sessionSummary"])) 
| extend successfulAppLaunch = tobool(sessionSummary["successfulAppLaunch"]) 
| extend unsuccessfulReason = tostring(sessionSummary["unsuccessfulReason"]) 
| where successfulAppLaunch == false 
| summarize 
count() 
by unsuccessfulReason, bin(timestamp, 1d) 
| render timechart

Prestazioni di apertura dell'app

Questa query mostrerà le metriche delle prestazioni di apertura delle app in base al giorno. Può essere utilizzato per valutare le tendenze delle prestazioni nel tempo o dopo aver apportato modifiche. Consigliamo:

  1. Utilizzo del 75° percentile dei campi timeToAppInteractive e timeToAppFullLoad per evitare disturbi causati da valori anomali.
  2. Filtro solo per le sessioni ottimali per evitare disturbi nei dati causati da casi previsti come sessioni con interazione dell'utente, sessioni in cui l'app è stata caricata in una scheda in background e così via.
customEvents 
| where name == "PowerAppsClient.PublishedApp.SessionLoadSummary" 
| extend cd = parse_json(customDimensions) 
| extend sessionSummary = parse_json(tostring(cd["ms-sessionSummary"])) 
| extend appLoadResult = tostring(sessionSummary["appLoadResult"]) 
| extend timeToAppInteractive = todouble(sessionSummary["timeToAppInteractive"]) 
| extend timeToAppFullLoad = todouble(sessionSummary["timeToAppFullLoad"]) 
| where appLoadResult == "optimal" 
| summarize 
percentile(timeToAppInteractive, 75), 
percentile(timeToAppFullLoad, 75) 
by bin(timestamp, 1d) 
| render timechart

Stato di caricamento dell'app sulle chiamate HTTP

È disponibile una nuova intestazione della richiesta x-ms-app-load-state che indica se una chiamata HTTP ha contribuito all'avvio dell'app. In particolare, questo può essere usato per determinare quali chiamate HTTP hanno influito su timeToAppFullLoad.

L'intestazione può essere uno dei due valori seguenti:

valore Descrzione
TTFL Indica che la richiesta ha contribuito a timeToAppFullLoad
PostTTFL Indica che la richiesta non ha contribuito a timeToAppFullLoad

Di seguito è riportata una query di esempio che mostra come accedere al valore dell'intestazione e proiettarlo nella colonna appLoadState:

dependencies 
| extend cd = parse_json(customDimensions) 
| extend requestHeaders = parse_json(tostring(cd["requestHeaders"])) 
| extend appLoadState = tostring(requestHeaders["x-ms-app-load-state"]) 
| project timestamp, session_Id, appLoadState, name, duration 
| limit 5

Numero di chiamate HTTP che contribuiscono al caricamento completo

Questa query mostrerà il conteggio medio delle chiamate HTTP che contribuiscono a timeToAppFullLoad per giorno. Può essere usato per valutare il numero di chiamate effettuate dall'app all'avvio che potrebbero contribuire a prestazioni ridotte.

dependencies 
| extend cd = parse_json(customDimensions) 
| extend requestHeaders = parse_json(tostring(cd["requestHeaders"])) 
| extend appLoadState = tostring(requestHeaders["x-ms-app-load-state"]) 
| where appLoadState == "TTFL" 
| summarize httpCalls = count() by session_Id, bin(timestamp, 1d) 
| summarize avg(httpCalls) by timestamp 
| render timechart

Durata delle chiamate HTTP che contribuiscono al caricamento completo

Questa query mostrerà la durata totale delle chiamate HTTP che contribuiscono a timeToAppFullLoad in base al giorno. Può essere usato per valutare l'impatto complessivo delle chiamate HTTP sulle prestazioni di avvio dell'app.

dependencies 
| extend cd = parse_json(customDimensions) 
| extend requestHeaders = parse_json(tostring(cd["requestHeaders"])) 
| extend appLoadState = tostring(requestHeaders["x-ms-app-load-state"]) 
| where appLoadState == "TTFL" 
| summarize httpCallDuration = sum(duration) by session_Id, bin(timestamp, 1d) 
| summarize percentile(httpCallDuration, 80) by timestamp 
| render timechart

Durata delle chiamate HTTP che contribuiscono al caricamento completo per URL

Analogamente a quanto sopra, questa query mostrerà il conteggio e la durata delle chiamate HTTP che contribuiscono a timeToAppFullLoad in base all'URL. Può essere usato per identificare specifiche chiamate HTTP lente che influiscono sulle prestazioni di avvio dell'app.

dependencies 
| extend cd = parse_json(customDimensions) 
| extend requestHeaders = parse_json(tostring(cd["requestHeaders"])) 
| extend appLoadState = tostring(requestHeaders["x-ms-app-load-state"]) 
| where appLoadState == "TTFL" 
| summarize 
count(), percentile(duration, 80) by name

Monitorare gli errori non gestiti (sperimentale)

[Questa sezione contiene la documentazione non definitiva ed è soggetta a modifiche].

Importante

  • Questa è una funzionalità sperimentale.
  • Le funzionalità sperimentali non sono destinate ad essere utilizzate per la produzione e sono soggette a restrizioni. Vengono rese disponibili prima di una versione ufficiale in modo che i clienti possano accedervi con anticipo e fornire i loro commenti.

Non è sempre possibile prevedere o pianificare ogni errore che potrebbe verificarsi durante l'esecuzione dell'app. Gli errori nelle formule di Power Fx non gestiti vengono segnalati agli utenti come messaggi banner. È anche possibile segnalarli ad Application Insights per mostrarne la frequenza e la gravità senza fare affidamento sugli utenti dell'app per segnalare i problemi. Puoi anche configurare avvisi in tempo reale quando si verificano errori di runtime per adottare un approccio più proattivo.

Abilitare il passaggio degli errori ad Application Insights

Abilita l'impostazione che consente di passare gli errori di tempo di esecuzione non gestiti di Power Apps ad Azure Application Insights.

Avviso

L'abilitazione dell'impostazione Passa gli errori ad Azure Application Insights potrebbe comportare costi aggiuntivi per l'archiviazione dei log di Application Insights.

  1. Apri l'app canvas per la modifica.
  2. Seleziona Impostazioni>Aggiornamenti>Sperimentali e attiva Passa gli errori ad Azure Application Insights.
  3. Salva e quindi pubblica l'app.

Eventi di errore in Application Insights

Gli errori Power Fx non gestiti che gli utenti riscontrano durante il runtime dell'app vengono segnalati alla tabella delle tracce. Gli errori non gestiti possono essere identificati e distinti da altri eventi di errore dal messaggio di evento "Errore non gestito". La dimensione "severityLevel" di questi eventi è 3 (TraceSeverity.Error).

I messaggi di errore dettagliati sono forniti nella dimensione "errors" della proprietà customDimension. Nelle situazioni in cui si sono verificati più errori durante la stessa operazione, gli errori vengono consolidati nella dimensione "errori" di un singolo evento di analisi. I messaggi di errore corrispondono a quelli segnalati in Monitoraggio durante una sessione di debug live.

Questa query di esempio identifica gli errori non gestiti ed espande tutti i messaggi di errore nell'evento di traccia:

traces
    | where message == "Unhandled error"
    | extend customdims = parse_json(customDimensions)
    | extend errors = parse_json(tostring(customdims.['errors']))
    | mv-expand errors
    | project timestamp
        , itemId //unique identifier for the trace event
        , AppName = customdims.['ms-appName']
        , AppId = customdims.['ms-appId']
        , errors = errors.['Message']
    | order by timestamp desc

Screenshot dell'output di esempio per la query di esempio.

Traccia delle correlazioni (sperimentale)

[Questa sezione contiene la documentazione non definitiva ed è soggetta a modifiche].

Importante

  • Questa è una funzionalità sperimentale.
  • Le funzionalità sperimentali non sono destinate ad essere utilizzate per la produzione e sono soggette a restrizioni. Vengono rese disponibili prima di una versione ufficiale in modo che i clienti possano accedervi con anticipo e fornire i loro commenti.

La connessione a dati e servizi esterni è essenziale per la maggior parte delle app. La traccia delle correlazioni genera e propaga le informazioni di contesto per collegare i log generati dal sistema tra un app canvas e le relative connessioni, fatte salve alcune limitazioni. Ad esempio, l'app potrebbe chiamare un connettore personalizzato che quindi chiama una funzione Azure o un'altra API REST. L'analisi di correlazione consente di correlare le azioni eseguite nell'app con le chiamate API sottostanti tra i livelli. Questa opzione è utile per la risoluzione dei problemi:

La traccia delle correlazioni delle app canvas implementa la traccia del contesto e segue la specifica W3C.

Abilitare la traccia delle correlazioni

Avviso

L'abilitazione di questa impostazione potrebbe comportare costi aggiuntivi relativi all'archiviazione dei log di Application Insights.

  1. Per abilitare il tracciamento delle correlazioni, apri l'app canvas per la modifica.
  2. Seleziona Impostazioni>Aggiornamenti>Sperimentali> e attiva Abilita traccia delle correlazioni di Azure Application Insights.
  3. Salvare e pubblicare l'app.

Screenshot dell'impostazione per abilitare la traccia delle correlazioni di Azure Application Insights.

Limiti

  • La traccia di correlazione funziona solo con i connettori personalizzati. Altri tipi di connettori non sono supportati.
  • Le richieste HTTP vengono acquisite in Application Insights solo se il servizio connesso è anche collegato ad Application Insights.

Utilizzare la traccia delle correlazioni

Se abilitata, l'analisi di correlazione aggiunge un nuovo evento di log generato dal sistema nella tabella dipendenze dell'istanza delle app canvas Application Insights. Questo evento viene registrato nel momento in cui viene ricevuta una risposta da una chiamata di rete. Gli eventi di dipendenza acquisiscono i dettagli della chiamata di rete, incluse le intestazioni di richiesta e risposta, il codice dello stato della risposta e la durata della chiamata.

Evento di esempio registrato nella tabella dependencies.

Se anche il servizio connesso è connesso ad Application Insights, un ulteriore evento di log generato dal sistema che cattura la richiesta viene generato nella tabella richieste dell'istanza Application Insights del servizio. Alcuni servizi di Azure, ad esempio Funzioni di Azure, possono essere connessi senza alcuna codifica dal portale di Azure. È possibile connettere l'app canvas o più app e i servizi connessi alla stessa istanza di Application Insights.

Evento di esempio registrato nella tabella requests.

Partecipa alle chiamate di rete per i connettori supportati con altri log generati dal sistema nella dimensione "operation_Id". La query seguente mostra una chiamata di rete insieme agli eventi di traccia generati durante una sessione dell'app.

traces | union dependencies | union requests | union pageViews | union customEvents
| project timestamp
    , itemType
    , name
    , operation_Name
    , message
    , severityLevel
    , customDimensions
    , operation_Id
    , operation_ParentId
| where operation_Id == "0a7729e3e83c4e4d93cb4f51149f73b9" //placeholder operation_Id, replace
| order by timestamp asc

Screenshot dell'output di esempio per la query di esempio precedente.

Esportare dati in Power BI

Puoi esportare i risultati della query e i dati di Application Insights in Power BI per l'analisi e la presentazione dei dati.

  1. Accedi al portale di Azure e apri la risorsa Application Insights che hai configurato in precedenza.

  2. Seleziona Log in Monitoraggio dal riquadro di spostamento a sinistra.

  3. Dalla finestra della query di analisi dei log, seleziona il menu Esporta.

  4. Seleziona Esporta in Power BI (query M) per scaricare un file di query di Power BI.

    Screenshot dell'opzione Esporta query di Power BI nella finestra Query di Log Analytics.

  5. Apri il file scaricato in un editor di testo e copia la query negli Appunti.

  6. Power BI aperti.

  7. Seleziona Ottieni dati nella barra multifunzione Home e quindi seleziona Query vuota.

    Screenshot dell'opzione Query vuota nel menu Ottieni dati di Power BI.

  8. Nella finestra della query, seleziona Editor avanzato, incolla la query nella finestra, seleziona Fine, quindi selezionaChiudi e applica.

    Screenshot di Editor avanzato in Power BI con una query incollata nella finestra.

Creare grafici e visualizzazioni in Power BI per rappresentare il feedback dall'app e prendi decisioni basate sui dati.

Screenshot di grafici e visualizzazioni in Power BI che rappresentano feedback sull'app.

Contesto e dimensioni dell'evento di traccia predefinito

Le dimensioni predefinite vengono aggiunte alla proprietà customDimensions per ogni evento di traccia. Queste dimensioni identificano l'applicazione e le sessioni dell'applicazione in cui si verificano gli eventi. Se registri ulteriori dati personalizzati utilizzando la funzione di traccia, questi verranno visualizzati anche nelle dimensioni personalizzate.

Nome dimensione Rappresenta
ms-appId L'ID applicazione dell'app che ha inviato l'evento.
ms-appname Il nome applicazione dell'app che ha inviato l'evento.
ms-appSessionId L'ID sessione dell'applicazione. Questo valore potrebbe non essere popolato in alcuni scenari. Quando disponibile, questo valore sostituisce la dimensione sessionID standard di Application Insights.
ms-tenantID L'identificatore univoco del tenant in cui è pubblicata l'applicazione.
ms-environmentId Il nome dell'ambiente in cui è pubblicata l'applicazione.
userId Un identificatore univoco per l'utente associato alla sessione.
ms-duration Un valore imputato che misura il tempo impiegato da un utente per navigare da una schermata all'altra. Questo valore sovrascrive la dimensione standard della durata di Application Insights PageView.
sessionId Un ID sessione che può essere utilizzato per correlare tutti gli eventi associati a una singola sessione dell'applicazione. Questo valore è sempre presente ed è consigliato per comprendere il conteggio delle sessioni univoche. Questo valore è preso dall'ID sessione del lettore e viene mostrato quando si visualizzano i dettagli della sessione durante la riproduzione dell'app. A volte l'ID sessione potrebbe ottenere un valore predefinito, casuale e univoco generato da Application Insights. Questo valore predefinito non è affidabile e non è correlato ad alcun parametro specifico dell'app.
Durata Un valore imputato che misura il tempo impiegato da un utente per navigare da una schermata all'altra. Questo valore è uguale alla durata riportata dalla dimensione ms-duration.
ms-isTest Indica se la sessione è associata al test runner di Test Studio.
ms-currentScreenName Il nome della pagina da cui sta navigando un utente finale (disponibile per gli eventi di navigazione della pagina).
ms-targetScreenName Il nome della pagina a cui sta navigando un utente (presente per gli eventi di navigazione della pagina).

Scenari non supportati

Application Insights non supporta questi scenari.

  • Gli eventi dei lettori offline non vengono registrati.
  • Gli eventi dalle app per dispositivi mobili (iOS e Android) non vengono registrati quando l'app viene sospesa.