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.
[ Full documentation | Source code ]
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
[ Full documentation | Source code ]
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
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
This program tabulates calls in a monitored program.
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
This program counts conversion events that occur during the monitoring of Icon program execution.
[ Full documentation | Source code ]
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
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
This program list events. Event information is written
by using image().
This program is called as
listev tp args
[ Full documentation | Source code ]
This program traces the locus of program execution.
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
Displays a tiny rendition of internal heap allocation.
[ Full documentation | Source code ]
Utility procedures for use with MT Icon programs (threads)
[ Full documentation | Source code ]
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%).
[ Full documentation | Source code ]
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
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
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
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
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
[ Full documentation | Source code ]
roll displays a chart recording a time-history of program execution by line number.
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
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.
[ Full documentation | Source code ]
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
[ Full documentation | Source code ]
This tool tabulates event codes.
[ Full documentation | Source code ]