My session about Microsoft Application Insights at "EtnaDev 2016" event, managed by OrangeDotNet community and hosted in the Engineering Department of "Università degli Studi di Catania", on October 21st, 2016
1. Application Insights
power is nothing without control
Roberto Albano
@dancerjude
roberto@dotnetpodcast.com
Membro fondatore community dotNET{podcast}
Membro community DomusDotNet
Funzionario Sistemi Informativi @ LUISS Guido Carli
MVP Visual Studio and Development Technologies
5. Telemetria
(da Wikipedia, l'enciclopedia libera)
La Telemetria è una tecnologia informatica che permette la
misurazione e la trascrizione di Informazioni di interesse al
progettista di sistema o all'operatore.
La parola deriva dalle radici greche (tele = lontano, e metron = misura).
7. Perchè abbiamo bisogno della telemetria
•È dura creare software di successo
•Le scelte di business dipendono dai dati a
disposizione
•Perchè è sempre meglio sapere che non sapere
8. Cos’è Application Insights
• Un servizio di analisi dei dati che consente di monitorare l'applicazione attiva.
• Consente di rilevare e diagnosticare problemi di prestazioni
• Aiuta a capire ciò che gli utenti effettivamente fanno con l'applicazione.
• Pensato per aiutare gli sviluppatori a migliorare prestazioni e facilità di utilizzo
9. Cosa possiamo fare con Application Insights
• Disponibilità
• Prestazioni
• Modalità di utilizzo
10. Cosa ci serve per poter partire
Subscription su Azure
• Abbonamento
• Pay as you go
• sottoscrizioni MSDN
(solo sviluppo e test)
11. Quali applicazioni possiamo monitorare
Applicazioni / Servizi Web
•Asp.Net
•Java
•altre (es PHP, Ruby, ecc.)
prima era anche Mobile (ora su HockeyApp)
13. Metriche di misurazione
•Tempi di invio della richiesta
•Tempi di risposta del server
•Tempi di caricamento della response
•Tempi di caricamento della pagina nel browser
14. Metriche di tracciatura
•Numero di richieste errate dal client al server
•Numero di eccezioni sul server
•Numero di eccezioni nel browser
15. Metriche di conteggio eventi
•Numero di pagine visitate
•Tipologia di device
•Geolocation di provenienza
17. Tempi di invio della richiesta
Partenza
richiesta dal
Browser
Arrivo
richiesta al
Server
Elaborazione
richiesta
Partenza
risposta verso
il Browser
Arrivo
risposta al
Browser
Send request time
Tempo medio tra la connessione di rete verso il web
server e l’invio del primo byte
18. Tempi di risposta del server
Partenza
richiesta dal
Browser
Arrivo
richiesta al
Server
Elaborazione
richiesta
Partenza
risposta verso
il Browser
Arrivo
risposta al
Browser
Server response time
Tempo medio di risposta del server a fronte della
richiesta ricevuta
19. Tempi di caricamento della response
Partenza
richiesta dal
Browser
Arrivo
richiesta al
Server
Elaborazione
richiesta
Partenza
risposta verso
il Browser
Arrivo
risposta al
Browser
Client processing time
Tempo medio tra la ricezione complete della response e
la rappresentazione del DOM (escluse chiamate
asincrone)
20. Altre caratteristiche
•Possibilità di molteplici ambienti
gestire stage diversi (es. sviluppo, collaudo, produzione)
•Dati e Report
esportazione report e/o dati anche in maniera automatizzata
22. SDK disponibili
• Server ASP.NET in Azure o nel server IIS
• Servizi cloud di Azure
• Server J2EE
• Pagine Web: HTML+JavaScript
• Altre piattaforme: Node.js, PHP, Python, Ruby, Joomla, SharePoint,
WordPress
23. TelemetryClient - API disponibili
Metodo Utilizzo
TrackPageView Pagine, schermo, form, ecc.
TrackEvent Eventi utenti o applicativi
TrackMetric Metriche
TrackException Eccezioni
TrackRequest Caratteristiche request
TrackTrace Messaggi diagnostica
TrackDependency Monitoraggio dipendenze
26. Documentazione e tutorial
•http://bit.ly/MsApplicationInsights
Microsoft Application Insights Documentation
•http://bit.ly/Ch9ApplicationInsights
Channel 9 Application Insights Videos
(filtro in basso a destra per selezionare varie lingue)
•http://bit.ly/UTNApplicationInsights
Articoli Blog «un tipo neuroso»
27. Tutti abbiamo necessità di controllo...
…più controllo
possibile…
…certo, non
bisogna esagerare
:-)