What's the first step to improving performance?
Is it tuning the garbage collector? Writing clean(er) code?
No, the first step is understanding what's going on in your application!
Performance tuning starts with analysis, and JDK tools can help you gain insights on classes and threads and can perform live GC analysis or heap dump postprocessing: jcmd, jconsole, jstat, jmap and jfr.
We'll examine the functional visibility areas essential to Java and how these tools provide that information. Moreover, will discuss options on how to integrate information gathered from these tools with widespread monitoring systems like Prometheus.
After this talk, you will be ready to understand what your application spends time on and why so you can start improving its performance with complete information.