Full Documentation: Monitoring Programs

Library version 9.4.3



alcscope.icn: Program to visualize allocation as a kaleidoscopic display

July 14, 1997; Ralph E. Griswold
Requires: Version 9 graphics
This file is in the public domain.

This program displays kaleidoscopic images.  The controls on the
user interface are relatively intuitive -- trying them will give
a better idea of what's possible than a prose description here.

This program is based on an earlier one by Steve Wampler, which in
turn was based on a C program by Lorraine Callahan.

This version is adapted to visualize storage management.

[ Summary entry | Source code ]


alcview.icn: Program to display allocation events in various ways

February 16, 1998; Ralph E. Griswold
Requires: MT Icon, event monitoring, Version 9 graphics
This file is in the public domain.

This program maps allocation events into colors and provides various
abstract visualizations of them.

Several visualizations are available:

     beacon          blinking light
     curves          random closed curves
     haystack*       randomly oriented lines
     nova*           radiating lines
     pinwheel        revolving sequence of sectors in a circle
     polygons        random polygons
     splatter*       randomly placed dots
     strip           scrolling strip of vertical lines
     symplat         as splatter, but in symmetric pattern
     vortex*         expanding/contracting square vortex
     web*            random walk

The visualizations marked with asterisks use the size information. The
others do not.

In terms of the monitoring framework terminology, this program
provides abstract visualizations for in an event space consisting
of category/size pairs -- 2CS -- in which the categories are colors.

The interface controls provide for:

     control of the display speed
     pausing the display
     resetting the display
     setting the period between automatic resetting
     changing the view

[ Summary entry | Source code ]


algae.icn: Program to show expression evaluation as ``algae''

November 22, 1997; Clinton Jeffery
Requires: Version 9 graphics
This file is in the public domain.

Press ESC or q to quit
Left mouse assigns specific (row,column) break "points"
Middle mouse assigns absolute depth and width break lines
Right button erases assigned break "points"

When paused due to a break, you can:

c to continue
s to single step
C to clear one point and continue
" " to clear everything and continue

[ Summary entry | Source code ]


allocwrl.icn: Program to display storage allocation in VRML

March 26, 2002; Ralph E. Griswold
Requires: MT Icon
This file is in the public domain.

This program produces VRML 1.0 worlds with shapes representing storage
allocation in the program it monitors.

The structures normally are laid out in the x-z plane along a path with
the shapes rising in the y direction. The size of the allocation
determines the size of the shapes.  The same shape is used for all
allocations, but the color indicates the type of allocation.

The kinds of allocation modeled are given by masks:

     structs         only allocation related to Icon's structure types
     blocks          all allocations in the block region
     non-structs     all allocations except for structures

The supported shapes are:

     cylinder
     cuboid
     cone

In this version, if the path file is exhausted before the SP terminates,
the path file is closed and reopened.

[ Summary entry | Source code ]


anim.icn: Program to show animated display of Icon source code

February 28, 1997; Gregg M. Townsend, modified by Ralph E. Griswold
Requires: Version 9 graphics
This file is in the public domain.

   anim displays a miniaturized program listing, highlighting each
line as it is executed.

   Two accompanying barcharts display execution profiles.  The one on
the extreme left shows the number of clock ticks attributable to each
source line.  The second chart shows the number of times each line was
executed.

   A chart to the right of the listing displays a time-based history
similar to that of the "roll" program (q.v.).

   usage:  anim [options] [arg...]

     -d n    decay after n new line events
     -b n    length of barcharts  (0 to disable)
     -z n    length of history  (0 to disable)
     -t n    ticks per history pixel

     -s n    vertical line spacing, in pixels
     -w n    width of one character, in pixels
     -h n    height of one character, in pixels
     -p n    set in pointsize n (OpenWindows only; overrides -w and -h)

     -P x    program text color
     -C x    comment color
     -A x    active text color
     -O x    old-text color (after fading)
     -R x    background color for barcharts and history
     -S n    spacing between sections of the display

     plus standard options from optwindow.icn
     (-F sets the color used for the barcharts and history)

     Setting -s or -p establishes good defaults for the other sizes.

   It is assumed that the program source file can be found by appending
".icn" to the icode file name.

[ Summary entry | Source code ]


callcnt.icn: Program to count calls

June 8, 1994; Ralph E. Griswold
Requires: MT Icon and event monitoring
This file is in the public domain.

This program tabulates calls in a monitored program.

[ Summary entry | Source code ]


cmpsum.icn: Program to tabulate comparisons

September 27, 1994; Ralph E. Griswold
Requires: MT Icon and event monitoring.
This file is in the public domain.

This tool tabulates comparisons.  It is called as

     cmpsum prog

where prog is a program compiled under MT Icon whose events are to
be tabulated.

The options supported are:

     -o s    write output to file s; default &output.

     -t      record time spent in monitoring.

[ Summary entry | Source code ]


cnvsum.icn: Program to tabulate type-conversion activity

August 13, 1994; Ralph E. Griswold
Requires: MT Icon and event monitoring.
This file is in the public domain.

This tool tabulates type-conversion activity.  It is called as

     cnvsum prog

where prog is a program compiled under MT Icon whose events are to
be tabulated.

The options supported are:

     -o s    write output to file s; default &output.

     -t      record time spent in monitoring.

[ Summary entry | Source code ]


cvtsum.icn: Program to count conversion event tuples

November 25, 1996; Ralph E. Griswold
Requires: MT Icon and event monitoring
This file is in the public domain.

This program counts conversion events that occur during the monitoring
of Icon program execution.

[ Summary entry | Source code ]


events.icn: Program to show events

September 20, 1994; Ralph E. Griswold
Requires: MT-Icon and event monitoring.
This file is in the public domain.

This program lists the events that occur in the execution of the icode
file given as the first argument on the command line.  Any other command-
line arguments are passed to the icode file.

The image of the event code is given in the first column, its
description is given in the second column, and an image of the
event value is given in the third column.

The following option is supported:

     -o s    direct output to file named s; default &output

[ Summary entry | Source code ]


evstream.icn: Program to show events

June 8, 1994; Ralph E. Griswold
Requires: MT Icon and event monitoring.
This file is in the public domain.

This program lists the events that occur in the execution of the icode
file given as the first argument on the command line.  Any other command-
line arguments are passed to the icode file.

The image of the event code is given in the first column, its
description is given in the second column, and an image of the
event value is given in the third column.

[ Summary entry | Source code ]


evsum.icn: Program to tabulate event codes

March 26, 2002; Ralph E. Griswold
Requires: MT Icon and event monitoring.
This file is in the public domain.

This tool tabulates event codes.  It is called as

     evsum prog

where prog is a program compiled under MT Icon whose events are to
be tabulated.

The options supported are:

     -m s    sets the event mask named s.  If no mask is specified, all
             events are tabulated. (See evdefs.icn for a list of event
             mask names.)

     -o s    write output to file s; default &output.

     -t      record time spent in monitoring.

[ Summary entry | Source code ]


exprsum.icn: Program to tabulate operator and function evaluation

February 20, 1995; Ralph E. Griswold
Requires: Version 9 MT Icon and event monitoring.
This file is in the public domain.

This tool tabulates operator and function activity.  It is called as

     exprsum prog

where prog is a program compiled under MT Icon whose events are to
be tabulated.

The options supported are:

     -o s    write output to file s; default &output.

     -t      record time spent in monitoring.

[ Summary entry | Source code ]


listev.icn: Program to list events

August 16, 1994; Ralph E. Griswold
Requires: Version 9.0 MT Icon with event monitoring
This file is in the public domain.

This program list events.  Event information is written
by using image().

This program is called as

     listev tp args

[ Summary entry | Source code ]


locus.icn: Program to trace execution locus

March 4, 1997; Ralph E. Griswold
Requires: Version 9 graphics
This file is in the public domain.

This program traces the locus of program execution.

[ Summary entry | Source code ]


memsum.icn: Program to tabulate memory allocation

August 17, 1994; Ralph E. Griswold
Requires: MT Icon and event monitoring.
This file is in the public domain.

This tool tabulates storage allocation.  It is called as

     memsum prog

where prog is a program compiled under MT Icon whose events are to
be tabulated.

The options supported are:

     -o s    write output to file s; default &output.

     -t      record time spent in monitoring.

[ Summary entry | Source code ]


mmm.icn: Program to show allocation as a miniature "MemMon"

August 12, 1994; Clinton Jeffery
Requires: Version 9 graphics
This file is in the public domain.

Displays a tiny rendition of internal heap allocation.

[ Summary entry | Source code ]


mtutils.icn: Program fpr MT Icon

March 3, 1997; Ralph E. Griswold
Requires: MT Icon
This file is in the public domain.

Utility procedures for use with MT Icon programs (threads)

[ Summary entry | Source code ]


napoleon.icn: Program to track memory usage by type

August 12, 1994; Clinton Jeffery
Requires: Version 9 graphics
This file is in the public domain.

Displays an animated chart showing recent memory usage by Icon type.

Currently not interactive, hence, keys and clicks don't do anything.
Resizes are handled.

usage: napoleon [-r | -c] prog [args...]

-r provides a regions view, separating the string and block regions
and displaying memory quantities proportional to the total region size
rather than the total amount allocated

-c provides continuous updates on each allocation, instead of updating
only when a change is significant (i.e. when proportions change by >= 1%).

[ Summary entry | Source code ]


novae.icn: Program to show allocations as exploding stars

June 25, 1996; Ralph E. Griswold
Requires: Version 9 graphics
This file is in the public domain.

This program shows allocation on two stars with radiating lines

The tool-specific options are:

     -h i    Height of panel, default 300
     -w i    Width of one panel, default 300
     -s i    number of lines, default 360
     -d      draw dot at end of line instead of full line

[ Summary entry | Source code ]


numsum.icn: Program to tabulate numerical computation

September 20, 1994; Ralph E. Griswold
Requires: MT Icon and event monitoring.
This file is in the public domain.

This tool tabulates numerical-computation activity.  It is called as

     numsum prog

where prog is a program compiled under MT Icon whose events are to
be tabulated.

The options supported are:

     -o s    write output to file s; default &output.

     -t      record time spent in monitoring.

[ Summary entry | Source code ]


opersum.icn: Program to tabulate operation activity

March 10, 1998; Ralph E. Griswold
Requires: MT Icon and event monitoring.
This file is in the public domain.

This tool tabulates operation activity.  It is called as

     opersum prog

where prog is a program compiled under MT Icon whose events are to
be tabulated.

The options supported are:

     -m s    sets the event mask named s.  The supported masks are
             FncMask (the default), OperMask, ProcMask, ScanMask,
             and Oper+Mask, which includes both ScanMask and
             OperMask.

     -o s    write output to file s; default &output.

     -t      record time spent in monitoring.

[ Summary entry | Source code ]


ostrip.icn: Program to show virtual-machine op-code strip

March 26, 2002; Ralph E. Griswold
Requires: MT Icon and event monitoring
This file is in the public domain.

This program produces a listing of virtual machine codes and the events
that occur between them.

The following option is supported:

     -o s    direct output to file s; default &output

[ Summary entry | Source code ]


playev.icn: Program to play back events

August 16, 1994; Ralph E. Griswold
Requires: Version 9.0 MT Icon with event monitoring
This file is in the public domain.

This program plays back events saved by recordev.  Since recordev
uses image() for recording, some information may be lost.

This program is called as

     playev em <history

where history is a file produced by recordev.

[ Summary entry | Source code ]


program.icn: Program to display portion of a program in a window

February 28, 1997; Ralph E. Griswold
Requires: Version 9 graphics
This file is in the public domain.

This program views the text of a program through a window.  The image
of the program is maintained in a pixmap.  Positioning the desired
portion of the program amounts to copying the appropriate portion
of the pixmap to the window.

The pixmap has half a window's white space at the top and at the
bottom to that the beginning and ends of a program can be shown
using the same logic as for interior portions of the program.

The program is written as a visual monitor to run under the control
of another program, such as Eve.

[ Summary entry | Source code ]


recordev.icn: Program to record events

August 16, 1994; Ralph E. Griswold
Requires: Version 9.0 MT Icon with event monitoring
This file is in the public domain.

This program records events in a file.  Event information is stored
by using image(), so some information may be lost.

This program is called as

     recordev <options> tp args

The options supported are:

     -o s    write event history to the file named s; default standard
                output.

     -c s    prefix the event history with a comment event whose value
                is s.

Warning:  If -o is not given and tp also writes to standard output,
the event history file will be corrupted.

If args contains options, use -- to prevent recordev from consuming them,
as in

     recordev -o history -- tp args

[ Summary entry | Source code ]


roll.icn: Program to display the program counter on a stripchart

June 25, 1996; Gregg M. Townsend and Ralph E. Griswold
Requires: Version 9 graphics
This file is in the public domain.

   roll displays a chart recording a time-history of program execution
by line number.

[ Summary entry | Source code ]


scat.icn: Program to produce call/result scatterplot

November 11, 1997; Clinton Jeffery
Requires: Version 9 graphics
This file is in the public domain.

Press the left mouse button atop any plotted point to see the list of
 procedures at that point.  Execution (and point motion) is suspended
 until the mouse button is released.

[ Summary entry | Source code ]


scater.icn: Program to display visualize string concatenation

March 1, 1997; Ralph E. Griswold
Requires: Version 9 graphics, MT Icon and instrumentation
This file is in the public domain.

This program displays successive numbers by lines of corresponding
height.  When the display area is full, it scrolls from right to
left.

In this version, input is piped in.

[ Summary entry | Source code ]


strsum.icn: Program to tabulate string computation

August 14, 1994; Ralph E. Griswold
Requires: MT Icon and event monitoring.
This file is in the public domain.

This tool tabulates string-computation activity.  It is called as

     strsum prog

where prog is a program compiled under MT Icon whose events are to
be tabulated.

The options supported are:

     -o s    write output to file s; default &output.

     -t      record time spent in monitoring.

[ Summary entry | Source code ]


strucget.icn: Program to collect SP structures

March 26, 2002; Ralph E. Griswold
Requires: MT Icon and instrumentation
This file is in the public domain.

This program collects the structures in an SP and when the SP
terminates, it saves them as an xencoded file.  Records are not
collected because they cannot be decoded in the absence of the
appropriate record declaration.

By keeping pointers to the structures in an SP, it assures that
all structures produced by that program are intact at the time
the SP terminates.  Be aware, however, that some structures may
have been "emptied" by the time the SP terminates, for example,
by get(L).

Saving the SP structure prevents them from being collected, which may
affect SP performance or even behavior.

The xencoded file is named <sp>.xcode there <sp> is the name of the
SP as given on the command line.

[ Summary entry | Source code ]


vc.icn: Program to coordinate visualization programs

March 1, 1997; Ralph E. Griswold
Requires: Version 9 MT Icon, event monitoring, and graphics
This file is in the public domain.

This program loads and runs multiple MPs.  It is based on the original
visualization coordinator, Eve, written by Clint Jeffery.

This is a work in progress.  At the moment, it works in demonstration
mode with only hard-coded SPs and MPs available.

The following interface features are provided:

     File menu

        snapshot @S     take snapshot of selected visualization
        quit     @Q     exit from vc

     Pause toggle (@P) to stop and start visualization

     Speed control slider for SP events

     Display of clock ticks in SP
____________________________________________________________

The following features remain to be implemented:

   disabling and enabling MPs
   adding and removing MPs
   specification of SPs and MPs not in hard-coded list
   specification of input data for SPs
   attempt to position MP windows in a useful way
   provide for changing SPs
   provide for continued visualization when SP terminates

Also, there are numerous small problems that need to be fixed, as
well as better documentation.

[ Summary entry | Source code ]


vmsum.icn: Program to tabulate virtual-machine operations

November 22, 1997; Ralph E. Griswold
Requires: Version 9 graphics and MT Icon
This file is in the public domain.

This tool tabulates event codes.

[ Summary entry | Source code ]


Program Library Page | Icon Home Page