Profiling is one of the most reliable techniques in the arsenal of a software engineer when debugging performance-related issues. And yet, profiling large distributed systems like Flink can still be extremely challenging. JVM Tools Link to this heading JVM comes with a variety of profiling tools, Flink documentation covers some of them. However, this approach has a few downsides: