Page 1
Application Insightspower is nothing without control
Roberto Albano@[email protected]
Membro fondatore community dotNET{podcast}Membro community DomusDotNetFunzionario Sistemi Informativi @ LUISS Guido Carli
MVP Visual Studio and Development Technologies
Page 2
Pubblicità occulta
www.dotNETpodcast.com
Page 3
Agenda
•Application Insights
•Azure dashboard
•Codice
•Conclusioni
Page 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).
Page 6
Cos’è Application Insights
• Telemetry
• Cloud
• Developers
Page 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
Page 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
Page 9
Cosa possiamo fare con Application Insights
• Disponibilità
• Prestazioni
• Modalità di utilizzo
Page 10
Cosa ci serve per poter partire
Subscription su Azure• Abbonamento• Pay as you go• sottoscrizioni MSDN
(solo sviluppo e test)
Page 11
Quali applicazioni possiamo monitorare
Applicazioni / Servizi Web
•Asp.Net
•Java
•altre (es PHP, Ruby, ecc.)prima era anche Mobile (ora su HockeyApp)
Page 12
Tipologie di metriche
•Misurazioni performance e disponibilità
•Tracciaturagestione errori e bug solving
•Conteggio di eventiutilizzo applicazioni
Page 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
Page 14
Metriche di tracciatura
•Numero di richieste errate dal client al server
•Numero di eccezioni sul server
•Numero di eccezioni nel browser
Page 15
Metriche di conteggio eventi
•Numero di pagine visitate
•Tipologia di device
•Geolocation di provenienza
Page 16
Metriche di misurazione
… facciamo giusto qualche esempio …
Page 17
Tempi di invio della richiestaPartenza richiesta
dal Browser
Arrivo richiesta al
Server
Elaborazione richiesta
Partenza risposta verso il Browser
Arrivo risposta
al Browser
Send request timeTempo medio tra la connessione di rete verso il web server e l’invio del primo byte
Page 18
Tempi di risposta del serverPartenza richiesta
dal Browser
Arrivo richiesta al
Server
Elaborazione richiesta
Partenza risposta verso il Browser
Arrivo risposta
al Browser
Server response timeTempo medio di risposta del server a fronte della richiesta ricevuta
Page 19
Tempi di caricamento della responsePartenza richiesta
dal Browser
Arrivo richiesta al
Server
Elaborazione richiesta
Partenza risposta verso il Browser
Arrivo risposta
al Browser
Client processing timeTempo medio tra la ricezione complete della response e la rappresentazione del DOM (escluse chiamate asincrone)
Page 20
Altre caratteristiche
•Possibilità di molteplici ambientigestire stage diversi (es. sviluppo, collaudo, produzione)
•Dati e Reportesportazione report e/o dati anche in maniera automatizzata
Page 21
Application Insights
Azure Dashboard
Page 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
Page 23
TelemetryClient - API disponibiliMetodo Utilizzo
TrackPageView Pagine, schermo, form, ecc.
TrackEvent Eventi utenti o applicativi
TrackMetric Metriche
TrackException Eccezioni
TrackRequest Caratteristiche request
TrackTrace Messaggi diagnostica
TrackDependency Monitoraggio dipendenze
Page 24
Application Insights
Codice
Page 25
Tutto bello… ma quanto costa ?
Page 26
Documentazione e tutorial
•http://bit.ly/MsApplicationInsightsMicrosoft Application Insights Documentation
•http://bit.ly/Ch9ApplicationInsightsChannel 9 Application Insights Videos(filtro in basso a destra per selezionare varie lingue)
•http://bit.ly/UTNApplicationInsightsArticoli Blog «un tipo neuroso»
Page 27
Tutti abbiamo necessità di controllo...
…più controllo possibile…
…certo, non bisogna
esagerare :-)
Page 28
Tutti abbiamo bisogno della telemetria...
…quasi tutti…:-)
Page 29
Question Time
Domande ?
Page 30
Application Insights power is nothing without control
GrazieRoberto Albano @dancerjude
[email protected]