Painful days wasted optimizing the wrong part of the code... Blind attempts to fix a production performance issue. Then, speculative “micro-optimizations" that clutter the code for no measurable gain. Only to later trace the problem to the most unexpected cause. This talk explains how to efficiently zoom in on a performance bottleneck using OpenTelemetry distributed tracing, metrics, and execution profiling. After we learn to read a flame graph, we’ll trace typical backend bottlenecks, such as resource starvation (threads and JDBC Connections), time-consuming interceptors, repeated network calls, CPU hotspots, and lock contention, using a variety of mainstream tools. Join this session to prepare for the performance issues that any successful application will eventually have.
