Viewing and analyzing performance data

The primary views for viewing and analyzing performance data are the Performance Call Graph and the Method Details views. You can supplement these with the Package Statistics, Class Statistics, Method Statistics, Method Invocation, Method Invocation Table, Execution Flow, Execution Flow Table, and the UML2 Sequence Diagram views.

Prerequisite: Collecting performance data

  1. Display the Performance Call Graph: Right-click your profiling resource, and then in the pop-up menu select Open With > Performance Call Graph. By default, the call graph shows the following:
    • The 20 most time-consuming nodes in the profiling run, plus the "Process" node that represents the total time of the entire process. A node can represent a method, a process, or a thread.
    • The dynamic call structure of the program during the profiling run, shown by arcs linking the nodes. The most expensive call paths are indicated by the thickest lines.
    • Detailed performance information for each node and arc within the call graph. This information is displayed in tool-tips, which appear when you pause the mouse cursor over the node or arc.
  2. Double-click any method in the call graph to open the Method Details view, which presents the performance data from the point of view of the individual method. Clicking a method in either the Performance Call Graph or the Method Detail view synchronizes not only the other view, but also all open logging and profiling views.
  3. Examine the data for unexpectedly time-consuming methods and call paths. Both views present the same performance data, but in different formats. Important data items include the following:
    Data Item Description
    Caller A method that originated a call to another method (its descendant).
    Descendant A method that was called by another method (its caller).
    Calls The number of calls made to the Descendant by the Caller.
    Base Time The total time for the selected method, excluding the times for any descendant methods.
    Cumulative Time The sum of the Base Time for the selected method and the time spent on its behalf in its descendant methods.
    Propagated Time The total time spent in a Descendant on behalf of its Caller. For Callers in the Method Detail view, Propagated Time is time propagated to the currently displayed method; for Descendants, it is time propagated from the currently displayed method.
The following topics provide additional information to help you detect performance bottlenecks:

Parent topic: Detecting performance bottlenecks

Related reference
The Performance Call Graph view
Performance Call Graph data commands
The Method Details view

Terms of use | Feedback
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.