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:

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.

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

Related references
Execution flow view controls