Registrare i dati di telemetria delle app utilizzando Azure Application Insights
Azure Application Insights aiuta i creatori a migliorare le proprie App Canvas monitorando tempestivamente e nel dettaglio i dati sull'uso che ne fanno gli utenti
Microsoft è felice di annunciare una nuova funzionalità che consente agli app maker di raccogliere dati dettagliati di telemetria per le app Canvas.
Volete sapere quante persone stanno usando l’app, da dove accedono, quali siano le schermate più visitate, i dispositivi o i browsers più popolari? Oppure monitorare tutti gli errori presentati agli utenti? O ricevere automaticamente un avviso se gli errori aumentano improvvisamente? Con la vostra app connessa ad Azure Application Insights, è possibile raccogliere tutte queste informazioni per prendere decisioni aziendali più consapevoli e migliorare la qualità delle app.
Per iniziare
Prima di poter inviare i dati telemetrici per un’app, dovete creare una risorsa di Azure Application Insights dove immagazzinare gli eventi. Per creare una risorsa App Insights, seguite il seguente articolo.
Dopo aver creato la risorsa di App Insights, avrete bisogno della instrumentation key, che andrà copiata.
Connettere la propria App ad Application Insights
Aprite la vostra app e selezionate l’oggetto App.
Nel pannello dell’oggetto App, aggiornate l’instrumentation key con l’instrumentation key di Azure App Insights.
Dopo averla aggiornata, salvate e pubblicate l’app.
Questo è tutto quello che serve per iniziare a raccogliere i dati di telemetria per la vostra app.
Aprite l’app e navigate su varie schermate. Gli eventi di navigazione sulle varie schermate verranno automaticamente registrati in App Insights assieme alle informazioni su dove e da quali dispositivi e browsers è stata aperta l’app. Potrete vedere gli eventi e gli insights generati dall’aggiunta della instrumentation key all’app.
Visualizzazione degli eventi in App Insights
Aprite la risorsa di App Insights che è stata creata e selezionate Users nel menù di navigazione di sinistra. In questa schermata è possibile vedere quante persone hanno usato l’app (non si tratta di utenti unici, ma ne parleremo più avanti), il numero di sessioni per l’app e il numero di eventi registrati. Sono disponibili anche i dettagli su dove gli utenti siano localizzati, i browsers e i sistemi operativi utilizzati. Entrando in una delle sessioni degli utenti, è possibile esplorare informazioni dettagliate come per esempio la durata della sessione, le schermate visualizzate e i dettagli di transazione di basso livello.
Nella visualizzazione Events, troverete un sommario delle schermate visualizzate in tutte le sessioni dell’app. È possibile utilizzare queste informazioni per analizzare e capire l’uso delle schermate o delle funzionalità nell’app e prendere decisioni basate sui dati per tutte le nuove feature che intendete implementare. Per esempio, potreste maturate la decisione di voler interrompere investimenti futuri basandovi su specifiche schermate in cui si registra un basso utilizzo della funzionalità e concentrarvi su altre feature.
Flow è un altro ottimo strumento che mostra come gli utenti navighino all’interno dell’app.
Potete utilizzarlo per analizzare i percorsi di navigazione più utilizzati.
È possibile ridurre i click e ottimizzare i percorsi alle funzionalità più popolari per gli utenti finali?
Fino ad ora abbiamo visto dei minimi esempi delle funzionalità in App Insights.
Potete approfondire le prestazioni dell’app, Funnels e Cohorts e molte altre funzionalità predefinite di App Insights a questo articolo
Registrazione Personalizzata
Usando la nuova funzione Trace, è possibile scrivere tracce personalizzate direttamente in App Insights ed iniziare ad analizzare informazioni specifiche del proprio scenario.
Usate Trace per analizzare informazioni di utilizzo del controllo delle schermate, quali utenti specifici accedano all’app e quali errori si verifichino.
La funzionalità, può anche aiutarvi a diagnosticare diverse problematiche ed inviare le informazioni relative su come gli utenti navighino nell’app e compiano varie azioni.
La funzione Trace accetta un messaggio custom, un livello di gravità ed un record personalizzato contenente dati che possono essere registrati come dimensioni personalizzate per l’evento in App Insights. Oltre alle dimensioni personalizzate definite per ciascun evento di tracciamento, la piattaforma aggiungerà un set di dimensioni predefinite ad ogni evento generato.
Si tratta di: ms-appSessionId, ms-appName e ms-appId e possono essere utilizzati per capire a quale app e sessione l’evento sia correlato.
Quindi a cosa si può accedere? Praticamente a tutto.
Potete, ad esempio, registrare ogni volta che un utente seleziona un bottone nell’app, ogni volta che una nuova funzionalità viene usata, o l’indirizzo mail che l’utente utilizza per accedere all’app.
Nota: se inserite dati personali, dovrete tenere in considerazione ogni obbligo di conformità dei dati (ad esempio GDPR).
Di seguito riportiamo un esempio di un’espressione Trace che è possibile aggiungere all’evento App OnStart per raccogliere le informazioni di login dell’utente.
Se volete sapere quanti errori si verificano nell’app o quante volte un record non è riuscito a scrivere nella risorsa dati, è possibile usare la funzione Errors.
La feature, controllerà la presenza di un errore di Patch durante la scrittura di un record e quindi registrerà l’evento.
Da App Insights, è possibile poi creare un alert per mandare automaticamente una notifica nel caso in cui vengano registrati errori, o se ci sia stato un improvviso incremento degli errori nell’app.
Dopo aver pubblicato e aperto l’app, appariranno i nuovi eventi generati in App Insights. Questi eventi verranno mostrati nei dettagli della sessione o sarà possibile interrogarli direttamente dai registri.
Interrogazione dei registri di Application Insights
Se volete andare maggiormente in profondità, potete sfruttare tutta la potenza dei dati raccolti: bisognerà, molto probabilmente, porre delle domande al registro per analizzare le tabelle dati di App Insights. Le interrogazioni al registro sono molto potenti ed è possibile usarle per avere tabelle multiple, aggregare una grossa quantità di dati e completare operazioni complicate.
Maggiori informazioni qui.
Utilizzando le espressioni di Trace indicate sopra, si potrà sapere quali utenti specifici abbiano riscontrato un errore durante il salvataggio dei dati e a che ora si siano verificati tali errori. Per ottenere questo scenario, aprite i Log nella sezione Monitoring nel menu a sinistra, e nella finestra scrivete la seguente query.
Dai risultati, potete vedere che tre utenti hanno ricevuto un errore durante il salvataggio dei dati.
In totale, ci sono stati 12 errori, e un utente ha ricevuto 5 errori in 30 minuti. Usando uno degli ID di sessione mostrati, è possibile approfondire ulteriormente i vari eventi di navigazione Trace e Screen che si sono verificati.
Altri miglioramenti in arrivo
Precedentemente, abbiamo parlato del fatto che i conteggi degli utenti visualizzati nel rapporto sull’utilizzo in App Insights non mostravano utenti unici.
Microsoft sta lavorando per risolvere questo problema e trasmettere un ID utente univoco con gli eventi App Insight registrati.
Verrà inoltre inviato l’ID della sessione di Power Apps, visibile agli utenti finali (a cui si accede dalla finestra di dialogo dei dettagli della sessione), che aiuterà ad analizzare ulteriormente le informazioni sulla sessione dell’utente e tutti gli errori che si sono verificati.
In conclusione, grazie alla strumentazione, si può iniziare a comprendere l’utilizzo dell’app, le prestazioni e identificare i problemi che potrebbero essere passati inosservati.
Le informazioni presenti in questo post, sono prese dall’articolo: Log telemetry for your Apps using Azure Application Insights.