Monitoring di una applicazione Go

WORKSHOP

Monitoring di una applicazione Go

📰 Titolo: Monitoring di una applicazione in Go.

📃 Cosa: Come usare il tooling Go per monitorare un’applicazione scritta in Go.

🎙 Chi: Aurélien Rainone

📍 Dove: Student Hotel

🗓 Quando: Mercoledì 11 Dicembre dalle ore 19.00 alle 23.00 

💰 Quanto: l’ingresso è gratuito, l’apericena è compreso

Abstract della sessione 

Come posso sapere se il mio programma in Go può andare più veloce? Come si comporterà in produzione sotto sforzo? 

Durante la serata raccoglieremo dati di performance su una applicazione reale e useremo dei tool per visualizzarli e analizzarli.

Lo scopo di questo workshop è quello di imparare a monitorare la propria applicazione Go per misurarne le performance, individuare i punti deboli e ottimizzarla. Per raggiungere l’obiettivo, faremo uso sia dei tool standard di Go, che del toolkit open-source Prometheus.

Nella prima parte vedremo come monitorare un’applicazione di tipo command line usando il tracer e il profiler di Go, nella seconda aggiungeremo delle metriche ad un server HTTP e utilizzeremo Prometheus (time series database) per visualizzarle.

Lo speaker 

Aurélien Rainone

Sviluppa software da oltre 15 anni in C++, Python e da 5 anni anche Go. In Develer utilizza Go per sviluppare software in ambito embedded, dove le prestazioni sono molto importanti.

Durante la serata verranno trattati i seguenti argomenti:

– Introduzione al monitoraggio in Go

– Tool per profilare un programma command line 

– Il toolkit Prometheus e concetti di monitoring

– I diversi tipi di metriche a disposizione

– Uso di Prometheus per monitorare un server HTTP in tempo reale

Obiettivi della sessione: 

Trasmettere nozioni di base per la valutazione delle performance della propria applicazione in Go.

Requisiti per la partecipazione:

– Conoscenza di base di Go

– Conoscenza di base di Git 

– Conoscenza di base della shell di Linux

– Conoscenza di base di Docker.

Cosa serve:

Per poter accedere alla parte pratica è necessario un proprio computer che abbia installati: