CPU View Section

  The CPU view section contains several views which are thread resolved. Directly above those views you can see the current selection of thread and thread state.

The thread selection can be one of

  • thread groups
  • active threads
  • dead threads

Next to the thread selector you find information about the thread state which is one of

  • All states
    No filtering is performed.
  • Runnable
    Only runnable thread states will be shown. This is the standard setting.
  • Waiting
    Only waiting thread states will be shown.
  • Blocked
    Only blocked thread states will be shown.
  • Net I/O
    Only blocking network operations of the java library will be shown.

When you switch between two thread states, JProfiler will make the best effort to preserve your current selection.

Below the thread selector you find information about the aggregation level which is one of

  • methods
  • classes
  • packages
  • Java EE components

The call tree is always recorded on the method level. If you switch to a higher aggregation level, the information contained in the method call tree is aggregated accordingly into a new tree from which the current view is calculated. Java EE components can only be shown if component recording has been enabled in on the Probes tab of the profiling settings dialog.

In the dynamic views thread selection, thread state and aggregation level are displayed in combo boxes. After changing the selection in the thread selector or the thread state selector, the dynamic views are updated immediately with the new settings. The thread selector applies to all dynamic views simultaneously. Initially it is set to All thread groups and may be switched to specific threads or thread groups as soon as they come into existence.

Please turn to the thread view section for more detailed information on threads.

  The update frequency can be set on the miscellaneous tab in the profiling settings dialog for all dynamic views of the CPU view section.
  Unless a recording profile with CPU data recording has been selected in the Startup section of the profiling settings dialog, data acquisition has to be started manually by clicking on  Record CPU data in the tool bar or by selecting View->Record CPU Data from JProfiler's main menu. Bookmarks will be added when recording is started or stopped manually.

CPU data acquisition can be stopped by clicking on  Stop recording CPU data in the tool bar or by selecting View->Stop Recording CPU Data from JProfiler's main menu.

The CPU recording state is shown in the status bar with a CPU icon which is shown in gray when CPU is not recorded. Clicking on the CPU icon will toggle CPU recording.

Restarting data acquisition resets the CPU data in all dynamic views of the CPU view section.

Note that you can also use a trigger and the "Start recording" and "Stop recording" actions to control CPU recording in a fine-grained and exact way. This is also useful for offline profiling.

  The CPU view section contains the
  • Call tree view
    The call tree view shows top down call trees for the selected thread or thread group.
  • Hot spots view
    The hot spots view shows the methods where most of the time is spent in the profiled application.
  • Call graph
    The call graph shows call graphs for selected threads or thread groups.
  • Method statistics
    The method statistics view shows information on the distribution of calls to the same method.
  • Complexity Analysis
    The complexity analysis view helps yuo to analyze the algorithmic complexity of selected methods.
  • Call tracer
    The call tracer shows a multi-threaded chronological sequence of method calls.
  • JavaScript XHR
    The JavaScript XHR shows you recorded XHR request from a local browser that were handled by the profiled JVM.