41 The Gauge Profiling Tool

The Gauge library package is a graphical interface to the SICStus built-in predicates profile_data/4 and profile_reset/1. See Profiling, for more information about execution profiling. The interface is based on Tcl/Tk (see Tcl/Tk).

To use the Gauge package, enter the query:

     | ?- use_module(library(gauge)).
Creates a graphical user interface for viewing the profile data for the predicates covered by the generalized predicate spec Spec. For example, the call view([user:_,m2:_]), will bring up the graphical user interface on the predicates contained in the modules user and m2. When the display first comes up it is blank except for the control panel. A screen shot is shown below.

Gauge graphical user interface

The menus and buttons on the control panel are used as follows:

Selects what statistics to display. One of:
The number of times a predicate/clause was called.
Execution Time
The execution time. Beware, this is a synthetic value.
Number of choicepoints created.
Shallow Failures
Number of failures in the “if” part of if-then-else statements, or in the “guard” part of guarded clauses.
Deep Failures
Number of failures that don't count as shallow.
Number of times a clause was backtracked into.
The number of times a predicate/clause was called or backtracked into. This is particularly useful with clause level resolution.

Selects the level of resolution. One of:
Compute results on a per predicate basis.
Compute results on a per clause basis, not counting disjunctions and similar control structures as full predicates.
User+System Clauses
Compute results on a per clause basis, counting disjunctions and similar control structures as full predicates.

Sort Order
Selects the sort order of the histogram. One of:
Sort the bars in alphabetic order.
Descending values
Sort the bars by descending values.
Ascending values
Sort the bars by ascending values.
Top 40
Show just the 40 highest values in descending order.

Controls the scaling of the bars. One of:
Display values with a linear scale.
Display values with a logarithmic scale.

Controls whether to show bars with zero counts. One of:
Show all values in the histogram.
No zero values
Show only non-zero values.

The font used in the histogram chart.
Calculates the values according to the current settings. The values are displayed in a histogram.
The execution counters of the selected predicates and clauses are reset.
A choice of printing the histogram on a Postscript printer, or to a file.
Shows a help text.
Quits Gauge and closes its windows.

By clicking on the bars of the histogram, the figures are displayed in the Value Info window.