Viewing Timeline Data

The Performance Analyzer displays a timeline of the events that it records in a graphical format. The progress of the program's execution and the calls made by the program can be tracked using this display. To display the timeline, click the Timeline tab.

The data is displayed in horizontal bars. The colored rectangles in each bar represent the recorded events. The colored area appears to be continuous when the events are closely spaced, but at high zoom the individual events are resolved. For each experiment, the global data is displayed in the topmost bar. This bar is labeled with the experiment number (Ex 1) and an icon. The colored rectangles in the global data bar are called samples. The global data bar is also called the samples bar. Samples represent timing data for the process as a whole. The timing data includes times for all the LWPs, whether they are displayed in the timeline or not. The event data is displayed below the global data. The display contains one event bar for each LWP (lightweight process) for each data type. The colored rectangles in the event bars are called event markers. Each marker represents a part of the call stack for the event. Each function in the call stack is color coded. The color coding for the functions is displayed in the Legend tab in the right pane.

In the Java representation, the bar labeled 1.1 is the user thread. Click on any part of it to find out which function was executing at that particular point in time. For example, clicking at the 50 second mark shows Routine.memalloc to be executing. You can toggle between the Summary, Event, and Legend tabs for information about what was happening at any given point in time. You can use the left/right arrows located at the top of the analyzer screen to step back or forward to the previous/next recorded event. You can also use the up/down arrows to step though the various threads.

Switching to the Expert-Java representation reveals three threads of interest: the user thread, the Garbage Collector (GC) thread, and the HotSpot compiler thread. In the above display, these threads are numbered 1.1, 1.5, and 1.10, respectively. If you compare the user thread from this Expert-Java mode against the previous Java-mode display, you?ll notice some extra activity in the first 30 seconds of the run. Clicking anywhere in this area reveals this callstack to be JVM activity. Next, notice the burst of activity in the GC thread between 30 and 120 seconds. The Routine.memalloc test repeatedly allocates large amounts of memory, which causes the garbage collector to check periodically for memory that can be reclaimed. Finally notice the shorts bursts of activity that repeatedly appear in the HotSpot compiler thread. This indicates that HotSpot has dynamically compiled the code shortly after the start of each task.

Previous | Next


Can't find what you are looking for? Email docfeedback@sun.com with your comments.
Legal Notices