Hot spots view

  
  up next 


The hot spots view shows a list of all method calls which use at least 0.1% of the total time spent in the current thread or thread group and lie above the threshold defined in the hot spots view settings. See the help on the estimated CPU time/elapsed time setting and take into account the selection of the thread state selector to properly assess the meaning of this total time. By opening a hot spot method entry, the tree of backtraces leading to that method call are calculated and shown.

Note: The notion of a hot spot is relative. Hot spots depend on the filter sets that you have enabled on the call tree collection tab of the profiling settings dialog. Filtered methods are opaque, in the sense that calls into other filtered methods are attributed to their own time. If you change your filter sets you're likely to get different hot spots since you are changing your point of view. Please see the help topic on hotspots and filters for a detailed discussion.

  Every hot spot is described in several columns:
  • the method name
  • the inherent time in ms or µs of how much time has been spent in the hot spot together with a bar whose length is proportional to this value. All calls into this method are summed up regardless of the particular call sequence.

    If the method belongs to an unfiltered class, this time does not include calls into other methods. If the method belongs to a filtered class, this time includes calls into other filtered methods.

  • the invocation count of the hot spot.

The hot spot list can be sorted on all columns.

If you click on the  handle on the left side of a hot spot, a tree of backtraces will be shown. The entries in the hot spots backtraces tree have different meanings which are indicated by the displayed icons:

  • method above threshold
    This points to a method whose time usage is above the threshold set in the hot spots view settings.
  • method below threshold
    This points upward from a method whose time usage is below the threshold set in the invocation view settings, but is needed to display the whole backtrace.
  • invocation root
    The root of the invocation.

Every entry in the backtrace tree has textual information attached to it which depends on the hot spots view settings.

  • a percentage number which is calculated with respect either to the total time or the called method.
  • a time measurement in ms or µs of how much time has been contributed to the parent hot spot on this path.
  • an invocation count which shows how often the hot spot has been invoked on this path.

    Note: This is not the number of invocations of this method.

  • a method name which is fully qualified or relative with respect to to the calling method.
  • a line number which is only displayed if line number resolution has been enabled in the profiling settings and if the calling class is unfiltered. Note that the line number shows the line number of the invocation and not of the method itself.
  The combo box at the top-right corner of the view allows you to treat calls to filtered classes in two different ways:
  • show separately
    Filtered classes can be hotspots of their own. This is the default mode.
  • add to calling class
    Calls to filtered classes are always added to the calling class. In this mode, a filtered class cannot be a hotspot, except if it is a top-level upward filter bag, i.e. if it is not called by any unfiltered class, but calls unfiltered classes itself.
With these two modes you can change your viewpoint and the definition of a hotspot. Please see the help topic on hotspots and filters for a detailed discussion of this topic.
  When navigating through the hot spots backtraces tree by opening method calls, JProfiler automatically expands methods which are only called by one other method themselves. To quickly expand larger portions of the hot spots backtraces tree, select a method and choose Edit->Expand 10 levels from the main window's menu or choose the corresponding menu item from the context menu. If you want to collapse an opened part of the hot spots backtraces tree, select the topmost method that should remain visible and choose Edit->Collapse all from the main window's menu or the context menu.
  You can stop and restart CPU data acquisition to clear the invocation tree and freeze all views to ensure that the invocation tree remains static.