Session about Microsoft Application Insights at "DevOps@Work 2017" event, managed by DomusDotNet community and hosted in Microsoft Rome's headquarter on February 10th, 2017.
The session is related to the product's presentation, configuration and integration using the available SDK.
6. 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).
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. 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
10. Cosa possiamo fare con Application Insights
• Verificare la disponibilità
• Misurare le prestazioni
• Capire le modalità di utilizzo
11. Cosa ci serve per poter partire
Subscription su Azure
• Abbonamento
• Pay as you go
• sottoscrizioni MSDN
(solo sviluppo e test)
12. Quali applicazioni possiamo monitorare
Applicazioni / ServiziWeb
•Asp.Net
•Java
•altre (es PHP, Ruby, ecc.)
N.B. Le applicazioni Web non devono per forza risiedere su Azure!
14. 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
15. Metriche di tracciatura (esempi)
•Numero di richieste errate dal client al server
•Numero di eccezioni sul server
•Numero di eccezioni nel browser
16. Metriche di conteggio eventi (esempi)
•Numero di pagine visitate
•Tipologia di device
•Geolocation di provenienza
17. Altre caratteristiche
•Possibilità di molteplici ambienti
gestire stage diversi (es. sviluppo, collaudo, produzione)
•Application InsightsAnalytics
strumento per «query» custom (con esportazione dati)
•Dati e Report
esportazione dati automatizzata (funzionalità a pagamento)
19. SDK disponibili
• Server ASP.NET (in Azure o IIS on-premises)
• Servizi cloud di Azure
• Server J2EE
• PagineWeb: HTML+JavaScript
• Altre piattaforme: Node.js, PHP, Python, Ruby, Joomla,
SharePoint, WordPress, Docker
20. 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
21. TelemetryClient - API disponibili
using Microsoft.ApplicationInsights;
var telemetry = new TelemetryClient();
telemetry.TrackEvent("Loading Home-Index View");
Un esempio di custom event «semplice»
22. 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»
25. Documentazione, tutorial e link utili
•http://bit.ly/MsApplicationInsights
Microsoft Application Insights Documentation
•http://bit.ly/Ch9ApplicationInsights
Channel 9 Application InsightsVideos
•http://bit.ly/UTNApplicationInsights
Articoli Blog «un tipo neuroso»
•http://bit.ly/MsAIGitHub
Progetti SDK su GitHub di Microsoft per le varie piattaforme
26. Tutti abbiamo necessità di controllo...
…più controllo
possibile…
…certo, non
bisogna
esagerare :-)
30. Feedback Form
Compilate il feedback form!!
Aiutateci a migliorare la qualità degli eventi!!!
Track B
http://svy.mk/2leDPWR
Grazie!
Notas do Editor
var properties = new Dictionary <string, string>
03. {{"game", currentGame.Name}, {"difficulty", currentGame.Difficulty}};
04.
05.var measurements = new Dictionary <string, double>
06. {{"Score", currentGame.Score}, {"Opponents", currentGame.OpponentCount}};</p>
07.
08.// Send the event:
09.telemetry.TrackEvent("WinGame", properties, measurements);
Creazione nuovo progetto con Application Insights
Aggiunta Application Insights ad un progetto esistente
Instrumentation Key
Instrumentation Key per svilupo e produzione
Catch di tutti gli errori con AI
Registrazione eventi con AI