Professional performance optimization always starts with tracing the root cause of the bottleneck, to make sure we fix the correct problem. Trying to optimize the program by ‘guessing’ what can cause the performance issue is known as Shotgun Tuning, and typically results in messy code, wasted effort, and lots of frustration. In this talk, we’ll explore the best 3 free tools for profiling a Java application: Micrometer, Glowroot, and Mission Control and we’ll discover the power of a profiler built-in already into your JVM – the Java Flight Recorder. Using these tools, we'll trace typical issues like connection/thread starvation, long-running methods, and more.