IDE DialogToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 10.0
Object described on page has changed in 10.0.
9.0 version

Runtime Analyzer Control dialog

This dialog is displayed with the Run | Runtime Analyzer Control Dialog command.

This dialog has buttons for starting, suspending, and stopping the collection of runtime analyzer data, and also has controls for specifying the type of data to be collected. Runtime analyzer data are useful for determining which functions in your application are using a lot of time or are using a lot of memory to create lisp objects. See runtime-analyzer.htm for a full description of the runtime analyzer in Allegro CL.

Type radio buttons

The radio-buttons at the upper left indicate the basic type of runtime analysis data to be collected, depending on whether you are interested in what code is taking most of the time (a CPU Time or Real Time analysis), what code is doing most of the consing of new objects (a Space analysis), or which functions are getting called frequently (Call Counts analysis).

The Interpret Closures check-box

The Interpret Closures check-box indicates whether separate nodes will be created in the analysis statistics for closures (when checked, they will, when unchecked, they will not).

The Call Counting Field

The controls at the upper right determine whether function calls are counted, what particular functions should definitely be counted, and the maximum number of functions that will be counted. Once you have checked that call counts are to be included, you may then enter function names into the Functions to Count text widget (one per line is suggested, though you need only include spaces between function names) and/or enter how many functions should be counted.

The Select Processes to Exclude Item List

This item-list on the right allows you to exclude particular processes from the analysis. Just single-click the names of any processes that are not of interest, and dark highlighting will indicate that they are being excluded. Single-click them again to return them to the processes being analyzed. If not all of the current processes are shown in the list, invoking the Run | Runtime Analyzer Control Dialog command again will refresh the list to reflect all current processes. You may want to exclude the IDE GUI thread, for example, since code running there is usually running the IDE itself rather than the application that you are developing in the IDE.

The Granularity and Max Samples widgets

The Granularity widget on the right below the Select Processes to Exclude item list sets the value of the variable prof:*granularity*, which specifies the number of clock ticks between each sample that is taken. It must be a positive integer, and the dialog will reject other values.

The Max Samples widget below the Granularity widget sets the value of the variable prof:*maxsamples*, which specifies the maximum number of samples that will be collected. It must be a positive integer, and the dialog will reject other values.

The Start/Suspend/Stop/Show buttons

When you click the Start Sampling button, start-profiler is called to begin collecting data, passing arguments that correspond to the information that you have specified in the various other controls on the dialog.

While sampling is occurring, you may press either the Suspend button or the Stop button. The Suspend button discontinues sampling temporarily (allowing you to add more samples to the same dataset a bit later; see stop-sampling). Note that the same parameters (granularity, maximum samples, type) are used when you resume sampling as when sampling started: it is not possible to change parameters while suspended. The Stop button ends data collection and prepares things for analysis (see stop-profiler).

You may also stop while suspended. While in the suspended state, the title of the Start Sampling button changes to say Resume, and will call start-sampling (rather than start-profiler) to continue sampling using the parameters that were in place when the analysis was first started.

The Show Results button may be pressed after data collection has been stopped. It displays the Runtime Analyzer Results dialog and (programmatically) presses its Update button (if it is available) to display the results of the new analysis in that dialog.

Note that the Start / Resume, Suspend, and Stop buttons have global keyboard accelerators so that you may start and stop an analysis, for example, while a Run | Run Project application window is selected. This lets you avoid switching to or from the IDE while sampling may be occurring. The global keyboard shortcuts are shown in the IDE status-bar when the mouse cursor is held over the buttons, and are also shown in the Run | Runtime Analyzer Control submenu of the Run menu on the IDE menu-bar.

Also, when sampling is started from the Start Sampling command in the Run | Runtime Analyzer Control submenu, the parameters that are currently selected in the Runtime Analyzer Control Dialog (if it has been invoked in this IDE session) are still used. This is true even if the dialog has been "closed", since the IDE actually just hides this dialog when a close gesture is made on it.

Static Text state indicator at the lower left

The static-text control at the lower left indicates the current state of the runtime analyzer, as returned by profiler-status. When the state is Sampling, it is shown in red to help you avoid collecting a huge sample by inadvertently remaining in this state for a long time.


Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
The object described on this page has been modified in the 10.0 release; see the Release Notes.
Created 2019.8.20.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 10.0
Object described on page has changed in 10.0.
9.0 version