Motif-Based MAINSAIL Tools Reference Guide, Chapter 5

previous   next   top   contents   index   framed top   this page unframed


5. Graphical Performance Monitor

Selecting Execution->Monitor... brings up the MAINSAIL Monitor window. From this window, you can invoke several monitoring utilities that display changes in the state of MAINSAIL's memory as they occur. These utilities are graphical versions of features in MAINPM and MM, but MAINPM and MM can provide only snapshots of a particular instant in a program's execution, as opposed to “movies” that show changes as they happen.

Some of the facilities described here are available only if you have purchased MAINPM.

Figure 5–1. MAINSAIL Monitor Window

The controls in the MAINSAIL Monitor window are:

5.1. Monitor Memory Pages

This brings up the Memory Map window, which displays a page map of the current MAINSAIL process's memory. The menu bar in this window also lets you issue the same commands provided by the utility MM (see Chapter 23 of the MAINSAIL Utilities User's Guide for a complete description of MM).

Figure 5–3. Memory Map Window

The controls in the Memory Map window are:

The items on the main menu bar correspond to MM commands. Consult the description of MM in Chapter 23 of the MAINSAIL Utilities User's Guide for detailed descriptions of each command.

Figure 5–4. The Memory Management Menu

Under the Memory Management menu, items correspond to MM commands as follows:

Figure 5–5. The Settings Menu

Under the Settings menu, items correspond to MM commands as follows:

Figure 5–6. The Info Menu

Except as specified below, all items on the Info menu bring up a dialog box that prompts for an output file name. If you specify the file name TTY, output goes to the CMDLOG window; otherwise, it goes to the file named.

Under the Info menu, items correspond to MM commands as follows:

5.2. Monitor Proc Pcs

Brings up the Procedure Pcs window.

Starting the first time the Procedure Pcs window is displayed, periodically interrupts MAINSAIL to see which PROCEDURE is executing, and adds one to that PROCEDURE's count. Maintains a histogram of PROCEDURE counts, most frequently called PROCEDURE at the top, so you can see which PROCEDUREs are taking the most time.

If a MODULE is disposed (i.e., by the MODULE or STRING form of dispose, so that the control section is released), the MODULE's PROCEDUREs eventually disappear from the display; the display is just for currently executing MODULEs.

Figure 5–7. Procedure Pcs Window

5.3. Monitor Allocated Classes

Brings up the Allocated Records and DataSecs window, which displays a histogram of the number of dynamic records of each CLASS and data sections of each MODULE currently in memory, with the most numerous objects at the top. This lets you see the kinds of dynamic records and data sections that your program uses the most.

Figure 5–8. Allocated Records and DataSecs Window

5.4. Monitor Collected Classes

Brings up the Garbage Collected Records and DataSecs window, which displays a histogram of the number of dynamic records of each CLASS and data sections of each MODULE that have been garbage collected since the window was first displayed. The most numerous objects are shown at the top. This lets you see what kinds of dynamic records and data sections become garbage most frequently in your program.

Clicking on Garbage Collect Chunks causes an immediate chunk collection. Clicking on Reset resets the count associated with each CLASS and MODULE to zero.

Figure 5–9. Garbage Collected Records and DataSecs Window

5.5. Monitor Proc Chunk Allocation, Monitor Proc String Allocation, and Monitor Proc Static Allocation

These three buttons bring up three similar windows: Chunk Space Allocated by Proc, String Space Allocated by Proc, and Static Space Allocated by Proc. Each window shows a histogram of the number of bytes allocated by each monitored PROCEDURE (monitored PROCEDUREs are controlled by the monitored MODULE list in the MAINSAIL Monitor window).

These windows let you see which PROCEDUREs in your program are allocating the most memory.

If a MODULE is disposed (i.e., by the MODULE or STRING form of dispose, so that the control section is released), the MODULE's PROCEDUREs eventually disappear from the display; the display is just for currently executing MODULEs.

If your program is compiled debuggable, the information in these windows may not be very reliable, since the data browser allocates substantial amounts of memory, but this memory will be charged to your program by default, since the debugger is in a library that is not monitored by default.

The Reset button sets the counts associated with each PROCEDURE to zero.

Figure 5–10. Chunk Space Allocated by Proc Window

5.6. Trace Chunks

Starts tracing chunks. This does not display information graphically, but displays an information box telling you that it has started tracing chunks. When you toggle the Trace Chunks button, prompts for a file name to which to write the chunk trace listing. The format of this file is described in Chapter 7 of the MAINPM User's Guide.
previous   next   top   contents   index   framed top   this page unframed

Motif-Based MAINSAIL Tools Reference Guide, Chapter 5