NAME Amyload - graphically monitor Amiga CPU, blitter, and memory usage SYNOPSIS amyload [options] [ '{' [window options] [ '[' [record options] ']' ] ... '}' ] ... DESCRIPTION Amyload is a program which graphically displays information about current CPU, blitter, and memory usage of the Amiga. This information is displayed in one or more windows, each of which may display information about the usage of any or all of the following: CPU usage - The average length of the ready queue over the last n seconds (a settable time interval). When greater than 1, horizontal lines are drawn to reflect a change in the scale that CPU usage is being displayed in. Blitter usage - The fraction of time during the last interval that the blitter was in use. Chip memory usage - The fraction of chip memory in use. Fast memory usage - The fraction of fast memory in use. Both chip and fast memory usage - The combination of both above. Options: (spaces are ignored except between an option requiring an integer parameter, where there had better not be any) i Set the time interval between updates to n seconds. Default is the current setting of load.device, which begins at 5 seconds, but may have been changed. t Set the number of ticks per interval (at which samples of CPU and blitter usage are taken) to n. Default is the current setting of the load.device, which begins at 61. The interval time divided by the number of ticks should form an irregular number, so as to try to avoid aliasing problems. (e.g. 1 second / 10 ticks is probably a bad idea, because the device might get 'in sync' with some other task, and that would distort the results.) p Set the priority of the measuring task to n. It should be higher than any tasks it is trying to measure. Default is the current setting of the load.device, which begins at 25. Following the options selection, window specifications may be given. They are introduced by the '{' character, and terminated by the '}' character. Window Options: =[WIDTH][xHEIGHT][{+-}XOFF[{+-}YOFF]] (similar to an X geometry specification) The '=' character introduces the specification. WIDTH and HEIGHT specify the WIDTH and HEIGHT of the window. XOFF and YOFF specify the position of the window relative to the screen's borders, the '+' or '-' characters indicating a position relative to the left or right border respectively of the screen in the case of XOFF, or top or bottom in the case of YOFF. Distances are measured between the screen's border and the nearest window edge, so the window can be placed in the lower right corner with specifications of -0-0 for XOFF and YOFF. No spaces are allowed within the geometry specification. d Set the window's detail pen color to n. b Set the window's block pen number to n. g Set the background pen number for the window to n. After window options have been specified, one or more record descriptions may be specified. These are introduced with the '[' character, and terminated by the ']' character. The records specified earlier will have their data lines drawn on top of records specified later (first to last == foreground to background). Record Options: C This record will display CPU usage (really ready queue length). This is the default record type. b This record will display blitter usage. c This record will display chip memory usage. f This record will display fast memory usage. m This record will display all memory usage. d Data lines for this record will be drawn with pen n. r References lines (drawn when scaling) will be drawn with pen n. This is irrelevant unless the record is displaying CPU usage. Note that reference lines will be drawn behind all records, regardless of ordering, except that they will be drawn on top of the scaled record's data lines. Note that load.device MUST be in your DEVS: directory (or already loaded into the system). USER INTERFACE Standard system gadgets are present but invisible (except for the drag bar, see BUGS). The menu button causes the types of the records in the windows to be printed in the color of their data lines. EXAMPLES amyload - use the default setup amyload {[C]} - open a single window monitoring CPU usage amyload {=200x200-0-0[C]} - as above, but make the window 200 by 200 and put it in the lower right hand corner of the screen. amyload {[bd2][Cd3]}{[cd3][fd2]} - open one window displaying blitter usage in the foreground using pen 2 for drawing data lines, and CPU usage in the background using pen 3 for data lines and the default pen for scale reference lines. Open a second window with chip memory usage in the foreground using pen 3 for data lines, and fast memory usage in the background using pen 2 for data lines. DIAGNOSTICS Error numbers are returned, rather than a messages, to avoid DOS. Error numbers are: 1 - "Can't open graphics library" 2 - "Can't open intuition library" 3 - "Can't create message port" 4 - "Can't create IO request" 5 - "Can't open load device" 6 - "Can't open window" 7 - "Can't create load record" 8 - "Unexpected end of record description" 9 - "Unexpected end of window description" 10 - "Bad record flag" 11 - "Bad window flag" 12 - "Bad flag" BUGS When the window is activated/deactivated, the not so invisible drag bar is still drawn/masked. Can't seem to figure out how to avoid this. Doesn't do enough checking of options. May crash if bad ones are given, especially zeroes in the wrong places. Doesn't do a 3D representation, yet... There is a bug in the data line drawing procedure (I think it's in there, anyway) that causes scale lines to not be drawn over data lines that are just heigher than the scale line. Should use cback.o, so you don't have to 'run' it, but I haven't looked into that yet. Isn't Intuition friendly. Application gadget and menu support should be added to allow configuration after startup. SEE ALSO devices/load.doc AUTHOR Jeff Kelley Dept. of Computer Science University of Waterloo Waterloo, Ontario, Canada N2L 3G1 Voice: (519)-578-4514 UUCP: {ihnp4,watmath}!watcgl!jvkelley BITNET: jvkelley@cgl.waterloo.bitnet INTERNET: jvkelley@cgl.waterloo.edu EAN: jvkelley@cgl.waterloo.cdn Comments, suggestions, bug reports welcome. ACKNOWLEDGEMENTS Amyload was inspired by the 'xload' program for UN*X workstations running the X Window System, and, to a lesser extent, by 'pm' for the Amiga. Thanks to Matt Dillon for Dme, the Software Distillery for blink, Comspec for getting a 2M RAM expansion to me quickly (NACK to the company whose lies about delivery dates delayed this project by a couple months), everyone on USENET, and the visionaries who created the Amiga.