Probe Hot Spots


  The hot spots view is conceptually similar to the CPU hot spots view. Instead of showing method hot spots, it shows payload names published by the selected probe. Payload names (such as the SQL string of a statement for the JDBC probe) have an associated duration, and the ones that take the most time result as the top hot spots.

Payloads are also connected with particular call stacks, so the hot spots view can show a merged tree of back traces. Even if sampling is enabled, JProfiler records the exact call traces for probe payloads by default. If you want to avoid this overhead, you can switch it off in the profiling settings.

For more information on the payload concept, please see the corresponding help topic

  Every hot spot is described in several columns:
  • The hot spot column shows the payload name. For an explanation of probe-specific payloads, please see the probe overview.
  • the self time, i.e. how much time has been spent in the hot spot together with a bar whose length is proportional to this value.
  • the average time, i.e. the self time (see above) divided by the invocation count (see below).
  • the invocation count of the hot spot. In contrast to CPU profiling, this is also available if "Sampling" is selected as the method call recording type.
  If you click on the  handle on the left side of a hot spot, a tree of backtraces will be shown. Every entry in the backtrace tree has textual information attached to it which depends on the 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. If enabled in the view settings, every node in the hot spot backtraces tree has a size bar whose length is proportional to this number.
  • 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 name which depends on the aggregation level:
    • methods
      a method name that is either fully qualified or relative with respect to to the calling method.
    • classes
      a class name.
    • packages
      a package name.
    • Java EE components
      the display name of the Java EE component.
  • a line number which is only displayed if
    • the aggregation level is set to "methods"
    • line number resolution has been enabled in the profiling settings
    • the calling class is unfiltered

    Note that the line number shows the line number of the invocation and not of the method itself.

  For certain probes, such as the "JPA/Hibernate" probe, the top-level elements in the backtraces are containers for secondary hot spots (JDBC statements in the JPA/Hibernate case) and nodes for direct and deferred operations.

The back traces below a "deferred operations" node are not directly associated with the actual execution of the hot spot. They show

  • where the entity has been acquired, if it already existed
  • where the entity has been persisted, if it is newly created

  The "Add Selection To Tracker" action in the context menu and the tool bar creates a tracker graph in the probe tracker view. You can select multiple control objects to create a single tracker graph for the sum of their operations.