Chapter 3. Displaying Event Data

This chapter covers the following topics:

Exploring the Graph Window

IRIXview provides two views for displaying an event log: a Context View graph and a CPU View graph. The Context View graph displays the state of all system contexts across time, while the CPU View graph shows the current run state (idle, user program, system thread, or interrupt) for each processor across time.

To display a graph, choose Windows > New Context Graph or > New CPU Graph from the IRIXview main menu.

This section details the elements common to both the Context Graph and the CPU Graph, including:

For specific information on using either graph, see “Using the Context View Graph” or “Using the CPU View Graph”.

Buttons at the Top of the Graph

The top of a Context or CPU View graph is shown in Figure 3-1. This section explains the function of icon buttons in the top row.

Figure 3-1. Buttons at the Top of the Graph Window


Figure 3-2. Time Units Menu Icon


Time Units Menu Icon
 


If you click and hold the left mouse button over this menu icon, you can choose the unit of time displayed in the Timeline and the Detailed Time Information field. The choices are:

sec

seconds (the default)

msec

milliseconds

usec

microseconds

nsec

nanoseconds


Figure 3-3. View Options Icon


View Options Window Icon
 


Clicking this icon displays the View Control window, which provides control over time intervals and zoom factors.

The resulting window is shown and described in the section “View Options Window”.

Figure 3-4. Display Events Icon


Display Events/States Window Icon
 


Clicking this icon displays the Display Events/States window, which provides control over which events or states to display in a View graph, and how event interrelations are shown.

The resulting window is shown and described in the section “Display Events/States Window”.

Figure 3-5. Zoom In/Zoom Out Icons


Zoom In/Zoom Out Icons
 


The Zoom In (capital Z) icon lets you focus on details; the Zoom Out (small z) icon lets you focus on the bigger picture.

Ordinarily Zoom In halves the time interval displayed, preserving the screen's midpoint. If you have selected a time interval, Zoom In focuses on this time interval. For information on selecting a time interval, see the section “Selecting Event Data”.

Zoom Out doubles the time interval, retaining the midpoint if possible.

Figure 3-6. Pan Left/Pan Right Icons


Pan Left/Pan Right Icons
 


Clicking these icons moves the time interval one page to the left or right, where a page is defined as the width of the current time interval. Note that widening a View Graph window stretches but does not change the time interval.

Figure 3-7. Push/Pop Icons


Push/Pop Icons
 


The Push icon saves the current time interval. You can later move back to this time interval with the Pop or Exchange icon (see below). You can push up to 16 time intervals; if you push more than that, the oldest time intervals are discarded in FIFO order.

The Pop icon causes the most recently pushed time interval to be displayed (after clicking the Push icon).

Figure 3-8. Exchange Icon


Exchange Icon
 


This icon swaps the currently displayed time interval with the most recently pushed time interval. For example, find an interval that is of interest to you and save it with the Push icon. Move to another time interval of interest. Then click the Exchange icon repeatedly to move between that interval and the current interval. For a description of this icon, see “Push/Pop/Exchange Icons”.

Figure 3-9. Search Window Icon


Search Window Icon
 


Clicking the Search Window icon (uppercase “S”) displays a Search window, where you can search for events. The Search window is fully described in the section “Search Window Icon”.

Figure 3-10. Search Accelerator Icons


Search Accelerator Icons
 


Clicking on one of these icons finds the next or previous occurrence of the currently selected event. An event may be selected with the Search window, or by clicking on it with the middle mouse button.

The underlined arrows find the previous (or next) occurrence of the selected event in the same context, that is, in the same interrupt level, process, or idle thread context. The arrows without underlines search for the previous (or next) occurrence of the selected event, regardless of context. See “Search Accelerator Icons” for details.

Figure 3-11. Legend Window Icon


Legend Window Icon
 


Clicking this icon displays the Legend window, which shows what each event icon and process state stipple indicates. The Legend window is different for the Context Graph and the CPU Graph. Details for each are explained in the sections “Using the Context View Graph” and “Using the CPU View Graph”.

State Stipples and Event Icons

The Context View graph displays stipples and event icons, as shown in Figure 3-12.

Figure 3-12. State Stipples and Event Icons in Middle of Context Graph


State stipples are horizontal lines, while event icons are small symbols.

Figure 3-13. State Stipple


State Stipples
 


These are horizontal lines that show the state of each process. The state stipple shown in Figure 3-13 is the Suspended stipple. For information about what each state stipple represents, see the Legend window, whose icon is shown in Figure 3-11.

Figure 3-14. Event Icon


Event Icons
 


Depending on the event logging mode and the events you have filtered (see “Examining Event Data”), various icons are displayed that correspond to events. Figure 3-14 shows a Signal Receive event icon. For information on what event icons represent, see the Legend window. To learn specific information about the occurrence of an event icon, see “Examining Event Data”. For a complete list of event icons and their meanings, see Chapter 5, “Event Dictionary.”

Different types of state stipples and event icons are available in the Context View graph and in the CPU View graph. For a discussion of each, see “Using the Context View Graph” and “Using the CPU View Graph”.

Notice that the sidebar of each graph contains labelled buttons. The sidebar of the CPU View graph shows each processor by number. The sidebar of the Context View graph contains the following items:

Figure 3-15. Interrupt Label


Interrupts
 


At the top of the Context Graph, interrupts occurring in this event log are listed. If you want more space above the interrupts to view icons that appear there, place the cursor over a labelled button and click the right mouse button. To remove the extra space, place the cursor over any button, press Shift and click the right mouse button again.

Figure 3-16. Process Label


Processes
 


After the interrupts, processes occurring in the event data are listed in order of priority.

The first several items that look like processes are actually kernel interrupt threads.

Figure 3-17. Idle Thread Label


Idle Thread
 


After processes come the kernel's CPU idle threads, listed by processor.

Timeline and Scrollbars

The bottom of the graph displays the timeline and a scrollbar to traverse the timeline. Time information also appears at the bottom of the window, as shown in Figure 3-18.

Figure 3-18. Timeline and Information at Bottom of Graph Window


Timeline 

The timeline displays the time in seconds since event logging began. You can change the units that are displayed using the Time Units Menu.

Scrollbars 

Use either scrollbar by dragging the scrollbar's thumb (the rectangle in the scrollbar), clicking in the gutters (the area on either side of the thumb), or clicking the arrows.

Detailed Time Information Field 


Detailed time information about the current time instant, event, or sub-interval is displayed in this field. For example, click on an event icon with the middle mouse button and the timestamp of that event is displayed in this field. For more details, see “Using the Context View Graph”. You can change the units that are displayed by the Detailed Time Information field with the Time Units Menu.

Opening Previously Collected Event Data

If you have previously collected event data using IRIXview, rtmon-client, or par, you can open the *.irv event data files by choosing File > Open from the IRIXview main window. The Open Event File window appears, as shown in Figure 3-19.

Figure 3-19. Open Event File Window


Type an appropriate collection directory name into the Filter field, then click Filter or press Enter to open that directory. If too many files are displayed in the Files subwindow, limit them by entering *.irv into the Filter field. If the file that you wish to open is listed in the Files subwindow, double-click its name, or select it and click OK to open it.

The IRIXview main window indicates that the event log is open by listing how many events from the log have been read.

For information on lost events, see “Troubleshooting Data Collection”.

Using the Context View Graph

Use a Context View graph to examine the status and interaction of system events such as user timestamps, interrupts, active processes or threads, and processor idle threads. All system events, or just events you select for examination, are visible over the time period of data collected.

To use the Context View window, follow these general steps:

  1. You must first load event data into IRIXview; see Chapter 2, “Collecting Event Data.”

  2. To open a Context View graph, choose Windows > New Context Graph in the main menu. You can have multiple Context View graphs open. They are numbered in the order opened.

  3. If you want to set options for the view graph, choose Options > Context Graph in the main menu. See “Context Graph Options” for more information.

  4. Using mouse clicks, select a time interval for which you want detailed information; see “Selecting Event Data”.

  5. In the main menu, choose Windows > Event Inspector to open the Event Inspector window. To get more details about events, click the Dump Context Events button. Events for the selected time interval appear in the Event Dump subwindow. See “Using the Event Inspector” for more information.

  6. Analyze the data. See “Analyzing Data”.

Context Legend Window

The Context View graph is full of graphic symbols. To understand what they mean, click the brown book icon to the left of the Close button inside a Context View window. This brings up the Legend window, as shown in Figure 3-20.

Figure 3-20. Legend Window for Context View Graph


Summary of Mouse Clicks

The various mouse clicks described in this chapter are summarized in Table 3-1

Table 3-1. Descriptions of Mouse Clicks

Mouse Click

Description

Right button

Refresh screen

Left button

Select a time instant

Left button, move, left button

Select a sub-time interval

Shift+left button

Cancel a time or event selection

Middle button

Select an event

Ctrl+left button

Select a nearby event


Using the CPU View Graph

Use a CPU View graph to examine processor activity. This could be especially useful on multiprocessor systems. All CPU states are visible over the time period of data collected.

To use the CPU View window, follow these general steps:

  1. You must first load event data into IRIXview; see Chapter 2, “Collecting Event Data.”

  2. To open a CPU View graph, choose Windows > New CPU Graph in the main menu. You can open multiple CPU View graphs. They are numbered in the order opened.

  3. Using mouse clicks, select a time interval for which you want detailed information; see “Selecting Event Data”.

  4. In the main menu, choose Windows > Event Inspector to open the Event Inspector window. To get more details about events, click the Dump Events for CPU button. Events for the selected time interval appear in the Event Dump subwindow. See “Using the Event Inspector” for more information.

  5. Analyze the data. See “Analyzing Data”.

CPU Legend Window

The CPU View graph is full of graphic symbols. To understand what they mean, click the brown book icon to the left of the Close button inside a CPU View window. This brings up the Legend window, as shown in Figure 3-21.

Figure 3-21. Legend Window for CPU View Graph


Selecting Event Data

Various types of event data may be selected, including time time instants, time intervals, and events. This section describes how to select event data, and contains the following sections:

Showing a Time Interval

A time interval is that portion of the event log that is currently displayed in the graph. You can set a particular time interval using the View Options window. Click the “V” icon (see Figure 3-3) in a View graph window to display the View Options window. The CPU and Context View Options windows are similar; the latter is shown in Figure 3-22.

Figure 3-22. View Options Window


To use this window, follow these steps:

  1. In the From and To fields, you can specify which time interval, in units of seconds or event sequence numbers, you would like to examine.

    For example, type 1.0 in the From field and 2.0 in the To field, and then click the Go To button to view the interval from second 1.0 to second 2.0. Use integers to specify the range of event sequence numbers you want displayed; for example, from 1 to 10, or from 1500 to 2000.

  2. The left and right arrow buttons act like the Pan Left and Pan Right icons on the graph window (see Figure 3-6), but are constrained by the Preserve (%) field.

    For example, if Preserve is set to 50, the arrows move the view forward or back one-half page at a time (where a page is the width of the current time interval). However, if Preserve is set to 90, they move forward and back just 10% of the current time interval at a time. If Preserve is set to 0, they act the same as the icons on the graph window; if Preserve is 100, these arrows are disabled.

  3. The Zoom In and Zoom Out buttons act like the zoom icons on the graph window (see Figure 3-5), but are constrained by the Factor field.

    For example, if Factor is set to 10, Zoom In displays 1/10 of the current time interval and Zoom Out displays 10 times the current time interval. If Factor is set to 2, they act the same as the zoom icons on the graph window—Zoom In displays 1/2 the current time interval and Zoom Out displays 2 times the current interval. However, if Factor is set to less than 1, the actions of these zoom buttons are reversed.

  4. Clicking the Display Events button brings up the Display Events/States window; for details see “Display Events/States Window”.


Tip: Before selecting time intervals and events, open the Event Inspector window, which displays useful information about the events and time intervals you select. See “Using the Event Inspector” for more information.


Selecting a Time Instant

Select a time instant by clicking the left mouse button over a time of interest in the graph. The cursor must be in the graph window; it cannot be over the timeline, for example. A vertical line appears in the event log, and that time appears at the bottom of the window in the Detailed Time Information field (see Figure 3-20). The Event Inspector window also updates, if it is open.

Selecting a Time Interval

Select a sub-time interval by first selecting a time instant, then moving the cursor to another time of interest and clicking the left mouse button a second time. Two vertical lines appear in the event graph, and the times of each instant and the difference between them are displayed in the Detailed Time Information field. For example, Figure 3-23 shows time instants at 1.0484 and 1.7056 seconds with an interval of 0.6573 seconds. Selecting a time interval is one way to determine the amount of time that has occurred between two events.

Figure 3-23. Time Instant and Interval


If you have the Event Inspector window open, the time fields automatically fill in. Once you have selected a time interval, you can zoom in on it by using the Zoom In icon (see Figure 3-5). Note that this deselects the time interval. You can return to the previous scale by using the Zoom Out icon, although without the time interval selection.

Canceling a Time Instant or a Time Interval

To cancel a time instant or time interval, with the mouse pointer anywhere in the graph subwindow, press the Shift key and click the left mouse button. Shift+left also cancels an event selection; see “Selecting an Event”.

Selecting an Event

To select an event, click the middle mouse button on an event icon. Its name, timestamp, and explanation appear in the Detailed Time Information field. For example, Figure 3-24 shows a selected interrupt event icon, with a timestamp of 1.2674 seconds.

Figure 3-24. Selected Event With Timestamp


Another way to select an event is to search for it. Click the “S” icon (see Figure 3-9) in a View graph window. The Search window appears, as shown in Figure 3-25.

Figure 3-25. Search Window


To learn how to use the Search window, see section “Search Window Icon”.

Examining Event Data

An obvious way to examine the event data is to simply look at it. Use the scrollbars to scan the data as a whole, zooming in and out as appropriate with the Zoom icons. Even with this simple method you can gain useful information about your software system; for example, you can answer the following questions:

  • Are deadlines being met?

  • Are all application processes getting a chance to execute?

  • Is my application blocking on a system call?

  • Is too much time being spent in interrupts or in the idle thread?

Another way to examine event data is to use the methods described in “Selecting Event Data” to select time intervals or events of interest, zoom in or out on them, and examine their timestamps and sub-intervals.

For a more detailed analysis of your software system, you can examine specific events using the Event Inspector. See “Using the Event Inspector”. See Chapter 5, “Event Dictionary” for a complete list of possible event icons and their meanings.

Using the Event Inspector

Use the Event Inspector to examine specific events. Choose Windows > Event Inspector from the main window. The Event Inspector window appears, as shown in Figure 3-26.

Figure 3-26. Event Inspector Window


To use the Event Inspector, follow these general steps:

  1. Specify a start and end time for the data you want to view. Indicate a segment of time from the entire interval appearing in your View graph. See “Specifying Time in the Event Inspector” for details.

  2. Dump events for inspection or drag and drop selected events from a View graph into the Event Inspector subwindow (at the bottom of the Event Inspector window). See “Dumping and Inspecting Events” for details.

Specifying Time in the Event Inspector

To select a series of events for a specific time interval, you can type the Start Time and End Time into the Event Inspector window. However, it is easier to select a time instant and interval using a View graph window. See “Selecting a Time Instant” and “Selecting a Time Interval” for details. Clicking the mouse causes the start and end times to update in the Event Inspector window.

Dumping and Inspecting Events

To dump events using the Event Inspector window:

  1. Set a start and end time. See “Specifying Time in the Event Inspector”.

  2. To see information about events in the selected time interval, click Dump All Events. To see just context events, click Dump Context Events. To see just CPU events, click Dump Events for CPU. The results appear in the Event Dump panel.

    To limit context events to a single context, type that context name into the Context field. To limit CPU events to a single processor, type its number into the CPU field.

  3. If you select an event within the Event Dump panel, full event information appears in the Event Inspector panel below.

There are two ways to get details on a selected event:

  • By clicking the mouse, select an item in the Event Dump panel.

  • From a View graph window, select an event icon (see Figure 3-14) with the middle button and drag it to the Event Inspector panel (below the Event Dump panel).

See Chapter 5, “Event Dictionary” for a complete list of event icons and the information collected about an event.