VisualVM and Self Time

JavaPerformanceProfilingCpuVisualvm

Java Problem Overview


I've been searching all over for a consistent and clear explanation of what 'self time' actually refers to in the VisualVM context and how does it differ to 'self time (cpu)'. Also does 'self time [%]' refer to self time or self time cpu.

There doesn't appear to be much documentation on this or at least I haven't found it. So any thoughts/input will be appreciated.

Java Solutions


Solution 1 - Java

  • Self Time is a wall-clock time spent in the method itself (includes time waiting/sleeping).
  • Self Time (CPU) is a time processor time, so it does NOT include time spent waiting, sleeping, etc.

  • Both columns do NOT include time spent in methods invoked from that method.
  • Both Self Time and Self Time (CPU) in the sampler are approximation of actual data.
  • Self Time [%] refers to one of the two selected Self Time [(CPU)] columns.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAndyFView Question on Stackoverflow
Solution 1 - JavaTomas HurkaView Answer on Stackoverflow