Search code examples
javareal-timevisualvm

Why aren't all methods displayed in VisualVM profiler?


I am using VisualVM to see where my application is slow. But it does not show all methods, probably does not show all methods that delays the application.

I have a realtime application (sound processing) and have a time deficiency in few hundreds of microseconds.

Is it possible that VisualVM hides methods which are fast themselves?

UPDATE 1

I found slow method by sampler and guessing. It was toString() method which was called from debug logging which was turned off, but consuming a time.

Settings helped and now I know how to see it: it was depending on Start profiling from option.


Solution

  • I don't have it in front of my at the moment, but before you start profiling, there's a settings pane that's hidden by default and lets you enter regexes for filtering out methods. By default, it filters out a lot of the core JDK stuff.