Taming performance issues into the wild: a practical guide to JVM profiling
Deep Dive (ADVANCED level)
The session will start with a quick introduction to the theory of profiling discussing the motivations, explaining the different types of profiling and visualization format while listing the tools available for this purpose. This also includes some tooling for reliably emulating the load generation and validating the improvements.
Then we will guide the attendees through the profiling tools that we want to use throughout the session:
Then we will guide the attendees through the profiling tools that we want to use throughout the session:
- Java VisualVM: https://visualvm.github.io/download.html
- Async-profiler: https://github.com/jvm-profiling-tools/async-profiler
- JDK Mission Control: https://www.oracle.com/java/technologies/jdk-mission-control.html
- JMH: https://github.com/openjdk/jmh
- Hyperfoil: https://hyperfoil.io/ (for load generation)
Francesco Nigro
Red Hat
I've been working for many years in the computer field. In the last 15 years I've cultivated a strong passion in Java development and the under the hood details of OpenJDK, recently joined by C and (x86) ASM.
Big fan of DDD (Domain Driven Design) world, I've developed several Event-Sourcing high performance solutions in the medical and IoT field.
I'm an active member of various online communities on performance (https://groups.google.com/forum/#!forum/mechanical-sympathy), Principal (Software) Performance Engineer and Performance Lead for Red Hat on Quarkus, Red Hat Top Inventor (2019).
I've collaborated to different projects related high-performance computing both as committer and contributors eg Quarkus, Vert-x, Netty committer, JCTools author, PMC of ActiveMQ Apache Artemis (Messaging Broker), HdrHistogram, JGroups-raft, ...
Big fan of DDD (Domain Driven Design) world, I've developed several Event-Sourcing high performance solutions in the medical and IoT field.
I'm an active member of various online communities on performance (https://groups.google.com/forum/#!forum/mechanical-sympathy), Principal (Software) Performance Engineer and Performance Lead for Red Hat on Quarkus, Red Hat Top Inventor (2019).
I've collaborated to different projects related high-performance computing both as committer and contributors eg Quarkus, Vert-x, Netty committer, JCTools author, PMC of ActiveMQ Apache Artemis (Messaging Broker), HdrHistogram, JGroups-raft, ...
Mario Fusco
Red Hat
Mario is a senior principal software engineer at Red Hat working as Drools project lead. Among his interests there are also functional programming and Domain Specific Languages. He is also a Java Champion, the JUG Milano coordinator, a frequent speaker and the co-author of "Modern Java in Action" published by Manning.