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.

The Execution Flow view and table are available only if the collection of execution flow information has been enabled, which you do when launching or attaching to the application to be profiled.  Select the profiling option, My application is too slow then, from the Details options, select Show Execution flow graphical details

Display of view

Here is an example of the Execution Flow view:

sets of vertical stripes; method labels at top; controls above that; numbers down the right side; some scattered horizontal lines

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 zoom in to expand the graph.

The Execution Flow view displays the following information:

Stripes piece of orange colored stripe
The stripes indicate methods in threads. The color coding denotes the object's class. The leftmost stripe, indicated GC, is garbage collection.
Time grey chip with a number in it
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 black horizontal line with bits of colored stripes hanging down, which are labelled, actionPerformed, addButton, repaint
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 left most columns display the GC (garbage collection) thread, which 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.

Display of table

Here is an example of the Execution Flow table:

table with 3 columns labelled thread names, instance name, and start time

The same information is available in the table as in the view.

Controls

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

Area select  area select button
To select a portion of the graph to enlarge.
Zoom in zoom in button
To zoom into the graph.
Zoom out zoom out button
To zoom out from the graph.
Home home button
To reset the display to its original size and position.
Graph colors bar colors button
To change the colors of the graph being viewed.  The change applies only to the currently active Execution Flow graph.  To change graph colors for all Execution Flow graphs, use Window > Preferences > Profiling and Logging > Appearance > Execution Flow Graph

graph color selection dialog
 
Menu > Show Time fragment showing drop down menu with show time
To select the time basis of the graph.  Raw time is the time that an application takes to run, including the profiling overhead.  Compensated time (default) is the time the application takes minus the time attributed to profiling.

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 control

The pop up controls consist of the following:

Refresh Views
To update all Profiling and Logging views.
Graph Colors
Same as the Graph Colors button. 
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.
Home
Return to the original the graph to the state it was in when first opened.
Show Execution Table
Display the information in a table instead of a graph.
Show Method Invocation
Display the same information but also show the invoking methods for a given method.
Open Source
To open an editing view containing the selected source code. The method, class, or package must be in the workbench.

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
Tutorial: Analyzing the profiling data from a Java process