JUG Milano Meeting #106
Lunedì 19 Novembre 2018
Set your code on fire with FlameGraphs
La registrazione dell'intervento è su https://youtu.be/IbuXeNBNQVs.
Abstract dell'intervento:
Attualmente esistono diversi strumenti per analizzare il comportamento e le performance di un applicativo, ma tradizionalmente la modalità di visualizzazione dei risultati è quella tabellare, sia essa piatta o ad albero. In questo intervento daremo una sbirciata a qualche strumento alternativo che 'illumini' a fondo gli angoli più bui del comportamento dei nostri applicativi e della JVM, mostrandoli in un modo completamente nuovo e più visuale: i FlameGraphs. Nel corso dell'intervento verrà data una sbirciata 'sotto il cofano' ad alcuni meccanismi della JVM allo scopo di comprendere le ragioni degli errori di molti noti profilers.
Attualmente esistono diversi strumenti per analizzare il comportamento e le performance di un applicativo, ma tradizionalmente la modalità di visualizzazione dei risultati è quella tabellare, sia essa piatta o ad albero. In questo intervento daremo una sbirciata a qualche strumento alternativo che 'illumini' a fondo gli angoli più bui del comportamento dei nostri applicativi e della JVM, mostrandoli in un modo completamente nuovo e più visuale: i FlameGraphs. Nel corso dell'intervento verrà data una sbirciata 'sotto il cofano' ad alcuni meccanismi della JVM allo scopo di comprendere le ragioni degli errori di molti noti profilers.
A cura di Francesco Nigro:
Lavoro da 18 anni in campo Informatico (s/montando personal computer in garage e ricompilando kernel Linux dagli inizi del 2000). Negli ultimi 15 anni ho coltivato una forte passione nello sviluppo in Java, affiancati recentemente dallo sviluppo in C e ASM su piattaforme x86/PowerPC. Grande appassionato del mondo DDD (Domain Driven Design), ho sviluppato diverse soluzioni Event-Sourced (e CQRS) ad alte performances in ambito medicale e IoT. Sono membro attivo di varie community online in tema performance (https://groups.google.com/forum/!forum/mechanical-sympathy) e Senior Software Engineer per Red Hat in ambito messaging, specializzato nello sviluppo e testing orientato alle performance. Contributor di JCTools, libreria di strutture dati concorrenti utilizzata in noti progetti open-source (es. Netty, Cassandra, Log4J...), Agrona (altra libreria di strutture dati concorrenti e non, cuore di Aeron, UDP/IPC brokerless messaging protocol), Netty, HdrHistogram, Apache committer e contributor di ActiveMQ Artemis, high-performance messaging broker..
Lavoro da 18 anni in campo Informatico (s/montando personal computer in garage e ricompilando kernel Linux dagli inizi del 2000). Negli ultimi 15 anni ho coltivato una forte passione nello sviluppo in Java, affiancati recentemente dallo sviluppo in C e ASM su piattaforme x86/PowerPC. Grande appassionato del mondo DDD (Domain Driven Design), ho sviluppato diverse soluzioni Event-Sourced (e CQRS) ad alte performances in ambito medicale e IoT. Sono membro attivo di varie community online in tema performance (https://groups.google.com/forum/!forum/mechanical-sympathy) e Senior Software Engineer per Red Hat in ambito messaging, specializzato nello sviluppo e testing orientato alle performance. Contributor di JCTools, libreria di strutture dati concorrenti utilizzata in noti progetti open-source (es. Netty, Cassandra, Log4J...), Agrona (altra libreria di strutture dati concorrenti e non, cuore di Aeron, UDP/IPC brokerless messaging protocol), Netty, HdrHistogram, Apache committer e contributor di ActiveMQ Artemis, high-performance messaging broker..