Search code examples
javaprofilingjmcjfr

Can one trust jmc(Java mission control) when doing performance analysis?


Jave mission control has some great features. For example one can see the "Hot Methods" of the application or there are "Call Tree" section when one can find top consuming functions call hierarchy. But I am wondering can one really rely on profiling results, when you are interested on finding performance bottlenecks(in terms of time)? For example one can put some "sleeps" inside some functions and seems profiler will not point out them.


Solution

  • Hot Methods lists the methods that execute Java code the most. If your application is in native code or sleeping it will not show in that table.

    Look at the Latencies tab to see latencies, i.e. Thread.sleep.