Hotspots Browser

The Hotspots Browser displays function hotspots in your application and allows you to drill down to the application, process, thread, thread group and module levels. The Hotspots Browser is comprised of two panels:
  • The left panel displays the Process Hierarchy Tree.
  • The right panel displays either the Function Hotspots Table (which shows a list of function hotspots for the selected element in the Process Hierarchy Tree), or the Whole System Overview page.
The Process Hierarchy Tree has one root node:
  • Whole System: Contains all the processes running on the system at the time of the performance run.
Under Whole System there are two or three predefined process groups:
  • My Application: Contains the processes that have been identified as being part of your application.
  • Other Processes: Contains all other processes running on the system during the performance run.
  • Idle Time: Contains all instances of the wait process on AIX systems. This node is not shown for Linux.

The CPU time is represented by a relative percentage and a ticks value. A tick represents a sample of the system taken by tprof (on AIX) or OProfile (on Linux on Power System). By default the ticks number is not displayed. To enable the display of ticks first open the preferences dialog from the main menu at Window > Preferences, then navigate to the preferences page found under Performance Advisor > Appearance. Under Timing Data select show both percentage and ticks.

When you select an element in the Process Hierarchy Tree, for example a process, the hot functions in that process are displayed in the Function Hotspots Table. By default the functions are sorted by the percentage column. You can sort by other columns by clicking on the column title.
Column Description
Function Shows the function or method name for C/C++ and Java/JNI applications or the procedure name for COBOL applications.
Hotness Shows the hotness of a function using color.
% Shows the percentage relative to the CPU time of parent filter in the Process Hierarchy Tree. Example: if you select My Application, the percentage is relative to the total CPU time sampled on My Application.
Ticks Shows the total number of ticks recorded against the function. This column is only shown if the Show both percentage and ticks option is enabled on the Performance Advisor Appearance preference page.
Source Shows the source file name that contains the function.
Module Shows the module name that the function belongs to.

Whole System Overview Page

The Whole System Overview page is displayed when the Whole System node is selected.

This page gives a high level overview of the target system where the performance data was collected. This page displays the following information:
  • Total elapsed time of the performance run.
  • Name, OS and hardware level of the runtime system.
  • Warnings if there are any problems with the runtime system that may affect the performance analysis results.
(Note: this page does not provide the same information as the System Scorecard view.)

Finding Functions by Name

The filter box above the table can be used to filter the contents of the table. As you type into the box the contents of the table are filtered and the part of each function name that matches the filter is highlighted. Two wildcards are accepted: '*' matches any sequence of characters and '?' matches a single character. Click the eraser icon in the filter box to clear the filter.

Breadcrumb Bar Navigation

To save screen space, you can hide the Process Hierarchy Tree panel and navigate the hierarchy using the breadcrumb bar. The breadcrumb bar is turned on/off by the toolbar button .

Click the arrow beside the breadcrumb item to show the hierarchy tree. The function table will be updated according to your selection.

Process and Thread Groups

All processes are contained in process groups, and all threads are contained in thread groups. These are meant as organizational tools that allow you to better analyze groups of processes and threads.

There are two or three pre-defined process groups: My Application, Other Processes and Idle Time (AIX only). By default each process contains a single thread group called Threads. To move processes or threads to another existing group select them, then right click and select Move To > Group Name. To move processes or threads to a new group select them, then right click it and select Move To > <new group>. A dialog will appear allowing you to enter the name of the new group. Alternatively you may also move processes and threads by dragging them and dropping them onto an existing group.

Hotspots Filters

Custom filters can be created to focus on modules or files you are interested in. To create a filter click the toolbar button to open the Hotspots Filters dialog.

Select one or more modules, or select one or more files, the tree will be filtered to show only processes and threads that match the selected modules or files. Use the Add... button to add modules or files that are not in the list. Deselect all the modules or files to disable the filter.

A label next to the Whole System node indicates when a filter is applied. Process and Thread group nodes will have a label that shows how many processes or threads have been hidden by the filter.

Toolbar Buttons

Button Command Description
Hide tree pane Show/hide breadcrumb bar.
Open filter dialog Open Hotspots Filters dialog.

Toolbar Menu

Command Description
Preferences... Open the performance advisor appearance preference page.

Process Hierarchy Tree Context Menu

Command Context Description
Rename... (or F2 hotkey) Process Groups, Thread Groups Rename the selected group.
Move To Processes, Threads Move the processes or threads to a new or existing group.
Delete Process Groups, Thread Groups Delete a process or thread group (the group must be empty).

Function Hotspots Table Context Menu

Command Context Description
Open Source Function Open source for the function in Performance Source Viewer.
Show Callers/Callees Function Show the call stack for the selected function in the Invocations Browser.
Preferences... Function Open performance tuning appearance preference page.

Feedback