devops@work 2017 - application insights more control, more power
TRANSCRIPT
Advanced Application Insights
(more control, more power)
Mi presento
Roberto Albano@[email protected] fondatore community dotNET{podcast}Membro community DomusDotNetFunzionario Sistemi Informativi @ LUISS Guido CarliMVP Visual Studio and Development Technologies
Pubblicità occulta
www.dotnetpodcast.com
Agenda
•Cos’è 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
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
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
Cosa possiamo fare con Application Insights
• Verificare la disponibilità
• Misurare le prestazioni
• Capire le 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.)
N.B. Le applicazioni Web non devono per forza risiedere su Azure!
Tipologie di metriche
•Misurazioni
performance e disponibilità
• Tracciaturagestione errori e bug solving
•Conteggio di eventiutilizzo applicazioni
Metriche di misurazione (esempi)
• 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 (esempi)
•Numero di richieste errate dal client al server
•Numero di eccezioni sul server
•Numero di eccezioni nel browser
Metriche di conteggio eventi (esempi)
•Numero di pagine visitate
• Tipologia di device
•Geolocation di provenienza
Altre caratteristiche
• Possibilità di molteplici ambientigestire stage diversi (es. sviluppo, collaudo, produzione)
•Application Insights Analyticsstrumento per «query» custom (con esportazione dati)
•Dati e Reportesportazione dati automatizzata (funzionalità a pagamento)
Azure Dashboard(+ Application Insights Analytics)
SDK disponibili
• Server ASP.NET (in Azure o IIS on-premises)
• Servizi cloud di Azure
• Server J2EE
• Pagine Web: HTML+JavaScript• Altre piattaforme: Node.js, PHP, Python, Ruby, Joomla,
SharePoint, WordPress, Docker
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
TelemetryClient - API disponibili
using Microsoft.ApplicationInsights;
var telemetry = new TelemetryClient();
telemetry.TrackEvent("Loading Home-Index View");
Un esempio di custom event «semplice»
TelemetryClient - API disponibili
var properties = new Dictionary <string, string>{ {"game", currentGame.Name}, {"difficulty", currentGame.Difficulty}};
var measurements = new Dictionary <string, double>{ {"Score", currentGame.Score}, {"Opponents", currentGame.OpponentCount}};
telemetry.TrackEvent("WinGame", properties, measurements);
Un esempio di custom event «complesso»
Demo
Tutto bello… ma quanto costa ?
Documentazione, tutorial e link utili
•http://bit.ly/MsApplicationInsightsMicrosoft Application Insights Documentation
•http://bit.ly/Ch9ApplicationInsightsChannel 9 Application Insights Videos
•http://bit.ly/UTNApplicationInsightsArticoli Blog «un tipo neuroso»
•http://bit.ly/MsAIGitHubProgetti SDK su GitHub di Microsoft per le varie piattaforme
Tutti abbiamo necessità di controllo...
…più controllo possibile…
…certo, non bisogna
esagerare :-)
Tutti abbiamo bisogno della telemetria...
…quasi tutti…:-)
Question time
…tanto io non vi rispondo…
Fate tutte le domande che
volete…
Thanks to our Sponsors
Feedback FormCompilate il feedback form!!
Aiutateci a migliorare la qualità degli eventi!!! Track B
http://svy.mk/2leDPWR
Grazie!