Execution Flow view and table

The Execution Flow view and table both show a representation of the entire program execution. In the view, the threads of the program fit horizontally, and time is scaled so that the entire execution fits vertically.  In the table, the threads are grouped in the first column and time is recorded in successive rows.

 

Display of view

Here is an example of the Execution Flow view:

Stripes cascade to the right as one method calls another method, whose responding method in turn calls another method, and so on. Stripes are grouped in columns by thread. A thin, black vertical line separates one column from another. The name of each thread appears at the top of its column.

Use the Zoom In tool to expand the graph.

The Execution Flow view displays the following information:

Stripes

The stripes indicate methods in threads. The color coding denotes the object's class. The leftmost stripe, indicated GC, is garbage collection.

Time

Time is measured in seconds and it's on the vertical axis, starting at the top. The height of a stripe indicates the time spent executing the method.

Names, arguments, and types

The top black line indicates that the class, actionPerformed, called the class, addButton, which called the class, repaint.   Lines are black unless the method is a constructor, in which case the line and labels are red.

If the view is open from the monitor object, it shows the execution for all the agents under the monitor. The name of the thread shows the ID of the corresponding process to differentiate between threads of the same name in different processes.

Garbage collection thread

By default, the GC (garbage collection) thread is hidden. It can be made visible by selecting Thread > GC from the Context menu. When visible, the GC thread is displayed in the left most column. The GC thread contains objects collected from all the processes under this monitor. A thin rectangle appears in this column whenever garbage collection for an object occurs. As with other objects and methods in the view, you can click the object for which garbage collection has occurred in order to select it. Large, raised, gray rectangles represent garbage collection phases in the profiling session.

Controls

Toolbar controls

The toolbar for both view and table contains the following controls:

Menu item Definition
To zoom into the graph.
To zoom out of the graph.
Return to the original graph size.
Show the Raw Cumulative time as a percentage.
Edit the graph colors.
To select a portion of the graph to enlarge.
Export icon Export records to available report formats. The New Report dialog allows you to select the report type and open the document using the default system editor.
Select the Show Time option to select the time basis of the graph.
  • Raw time: the time that an application takes to run, including the profiling overhead.
  • Compensated time: time the application takes minus the time attributed to profiling.
Select the Display Application Context option to display profiling data based on a programming language or data collection context. For more information, see Understanding application contexts in profiling views.

Control on the graph

You have some control in the body of the graph as well. Point the mouse over a stripe to display status information (for example: sample status line, as described below)

Pointing elsewhere in the view displays the thread name and time corresponding to the pointer's vertical position.

Pop-up menu controls

Menu item Definition
Refresh the view
Edit the graph colors.
Return to the original graph size.
Choose columns to display the table.
Show Method Invocation Details for the selected method.
Show Method Invocation for the selected method.
Detect all repetitions Displays Xs to identify frequently called methods.
Hide All Repetitions Hides the display of Xs at frequently called methods.
Threads > Show All Threads Display all threads belonging to the selected resource.
Threads > Hide All Threads Hide all the threads belonging to the selected resource.
Threads > GC Display the Garbage Collection thread.
Threads > thread name Display the named thread.


Related concepts
Overview of the Profiling Tool
Profiling resources

Related tasks
Profiling an application
Viewing performance bottlenecks
Viewing invocations and callers of a method
Identifying phases of program execution
Identifying active threads
Identifying resource-intensive methods