etnadev 2016 - application insights
TRANSCRIPT
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
Pubblicità occulta
www.dotNETpodcast.com
Agenda
•Application Insights
•Azure dashboard
•Codice
•Conclusioni
La Potenza…
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).
Cos’è Application Insights
• Telemetry
• Cloud
• Developers
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
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
Cosa possiamo fare con Application Insights
• Disponibilità
• Prestazioni
• Modalità di utilizzo
Cosa ci serve per poter partire
Subscription su Azure• Abbonamento• Pay as you go• sottoscrizioni MSDN
(solo sviluppo e test)
Quali applicazioni possiamo monitorare
Applicazioni / Servizi Web
•Asp.Net
•Java
•altre (es PHP, Ruby, ecc.)prima era anche Mobile (ora su HockeyApp)
Tipologie di metriche
•Misurazioni performance e disponibilità
•Tracciaturagestione errori e bug solving
•Conteggio di eventiutilizzo applicazioni
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
Metriche di tracciatura
•Numero di richieste errate dal client al server
•Numero di eccezioni sul server
•Numero di eccezioni nel browser
Metriche di conteggio eventi
•Numero di pagine visitate
•Tipologia di device
•Geolocation di provenienza
Metriche di misurazione
… facciamo giusto qualche esempio …
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
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
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)
Altre caratteristiche
•Possibilità di molteplici ambientigestire stage diversi (es. sviluppo, collaudo, produzione)
•Dati e Reportesportazione report e/o dati anche in maniera automatizzata
Application Insights
Azure Dashboard
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
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
Application Insights
Codice
Tutto bello… ma quanto costa ?
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»
Tutti abbiamo necessità di controllo...
…più controllo possibile…
…certo, non bisogna
esagerare :-)
Tutti abbiamo bisogno della telemetria...
…quasi tutti…:-)
Question Time
Domande ?
Application Insights power is nothing without control
GrazieRoberto Albano @dancerjude