home *** CD-ROM | disk | FTP | other *** search
-
- SPY Process Time Monitoring System
- ==================================
-
- By Supervisor Software, 1989,90,91
-
-
-
- The SPY system allows one to monitor the overall CPU usage and the CPU times
- consumed by various tasks and processes running on the Amiga.
-
- These new program version are NOT compatible with the older ones. Using both
- version simultaneously may cause a machine crash.
-
- This package consists of three different programs:
-
- * Spy 0.32 - a monitoring program which links itself into the task
- switching vectors of Exec library and maintains its own
- structures for task information storage
- * DSD 1.20 - a graphic display of CPU load with some numeric information
- about Amiga uptime and CPU load
- * Report 1.25 - a CLI utility for listing all tasks and processes in the
- system and showing their CPU usage information
-
-
- This package is primarly designed for the new Kickstart and Workbench 2.x
- but it will also run on Kickstart 1.3, although the CPU time measurement
- is very inaccurate under 1.3 in this version of Spy. This will be addressed
- in the next release of SPY System.
-
- Use 'command ?' for a template, 'command ??' for human readable help or
- 'command ???' for full online help.
-
-
- USAGE:
- ======
-
- Spy
- ~~~
- First run Spy to create the new structures and start accounting the CPU
- usage and other information. Spy will return immediately, thus no RUN
- instruction is required. If you wish, you can later remove Spy from the
- Amiga by running it again (or running it again with the command Remove,
- if desired). Spy can only be terminated when no DSD or Report programs
- are running.
-
- Spy has one option (-Times) which causes all tasks and processes started
- _before_ Spy to receive Spy's starting time as theirs. That is, all
- processes started before Spy will look like they were started at the same
- time with Spy. If this option is NOT used, the processes mentioned will
- have an 'unknown' starting time.
-
- All tasks and processes started _after_ Spy was run will always get the
- real starting time in their structures.
-
-
- DSD
- ~~~
- You may start DSD right after running Spy. The initial x and y coordinates
- for the DSD window can be specified on the command line. For example,
- DSD -x400 -y0 sets the coordinates to (400,0). Specifying coordinates of -1
- will open the window as far right and down as possible.
-
- DSD may be terminated at any moment by clicking its close gadget or sending
- a CTRL+C signal to it.
-
- The DSD display shows the CPU usage (load) in graphical form. When the
- graph is low, the CPU load is low. When the CPU is fully loaded, the graph
- will fill the entire display. The graph is updated once a second, thus the
- approximate timing of load peaks can also be determined.
-
- The Load numbers show the CPU loading. 100% means the CPU is fully loaded.
- The number on the left hand side shows the value for the last seconds, the
- other shows the CPU load calculated for the total Uptime.
-
- IdleCPU shows the total amount of time that CPU has been idle (ie. it has
- had nothing to do) and Uptime shows the time that the SPY system has been
- running (usually Spy is started during machine boot so this will show the
- total uptime of the Amiga).
-
-
- Report
- ~~~~~~
- Report is a CLI based utility used to list all tasks and processes running
- on the Amiga. It shows many kinds of information about the tasks:
-
- * First, it lists the Uptime, IdleCPU and Average Load:
-
- Uptime: 0 00:23:15.140 Idle CPU: 0 00:21:04.494 Average Load: 9.39%
-
- * Then, it lists all tasks and processes in alphabetical order:
-
- num taskname (args) typ id pri task ptr stack used disp CPU time
- 1 AmiCron bw 4 0 078C1C68 8192 314 204 0.339
- 2 bin/keylock bw 2 0 078AFAF8 8192 118 0 0.000
- 3 CD0 pw 10 0788C648 6000 182 2306 0.781
- 4 CON pw 5 07901C18 3200 530 0 0.000
- 5 CON pw 5 0790B220 3200 530 0 0.000
- 6 CON pw 5 078DCE70 3200 530 0 0.000
- 7 CON pw 5 07871C50 3200 530 16 0.059
- 8 console.device tw 5 0780E160 4096 90 68 0.460
- 9 CON pw 5 078E5E48 3200 530 544 6.959
- 10 DF0 pw 10 07815B40 2400 130 0 0.000
- 11 DF2 pw 10 078352A0 2400 130 0 0.000
- 12 DH0 pw 10 07817FC0 2400 130 577 0.160
- 13 DH1 pw 10 078379C0 2400 130 800 0.340
- 14 DH2 pw 10 0783D708 2400 130 54 0.000
- 15 dsd bw 5 0 078E30C8 8192 152 1196 8.062
- 16 Enhancer v1.577 pw 10 07883988 8192 94 61 0.000
- 17 H0 pw 10 078230C0 2400 130 10 0.000
- 18 H1 pw 10 07829150 2400 130 0 0.000
- 19 H2 pw 10 0782F1F0 2400 130 0 0.000
- .. .. .. .. ........ .... ... . .....
- .. .. .. .. ........ .... ... . .....
- .. .. .. .. ........ .... ... . .....
-
-
- If Spy is not active, the timing information for tasks and processes is not
- available. In that case, the appropriate fields of output will be blank.
-
-
- The meanings of the colunms are:
-
- num Line number of printout (may be disabled with option
- -NONumbers)
-
- taskname Name of task or process shown. Under Workbench 2.0, the
- command line arguments of CLI commands are also shown.
-
- typ Task or process type: First letter indicates if this is a CLI
- background process (b), a process (p) or a simple task (t).
- Second letter shows if this task or process is doing nothing
- (waiting, w) or currently running (ready, r).
-
- id CLI identifier number.
-
- pri Priority (-128...+127) of this task or process.
-
- task ptr Task structure pointer of this task or process.
-
- stack Stack size for this task or process.
-
- used This many bytes of stack are in use.
-
- disp Number of dispatches for this task or process (shows how many
- times this task has been scheduled to run or how many times
- it has needed CPU time).
-
- CPU time CPU time used by this task or process, shown in seconds and
- milliseconds (or seconds only when the value exceeds 1000000
- seconds). This field is not reliable under 1.3 for the
- current version of Spy.
-
- created (Not shown above) Time when this task or process was started.
- This may be unknown for the tasks that were launched before
- Spy was started (unless -times option is used for Spy).
-
- idle (Not shown above) Time which the task or process has been
- sleeping, needing no CPU time. If a CLI window or an
- application program is not used, it usually needs no CPU time
- and the idle time is seen here. Most system processes need
- CPU time several times a second and this field is blank
- (meaning no idle time for that process).
-
-
- Report has several command line options:
-
- [<pattern>|$<address>|#<cli_id>] [-Time] [-Format="<fmtchars>"]
- [-Header[="<header>"]] [-NOHeader] [-[NO]Status] [-[NO]Numbers]
- [-CLI] [-Proc] [-TAsk] [-Waiting] [-Ready]
-
- The characters shown in UPPER CASE are obligatory, while those in lower
- case are optional. Option strings are case-insensitive. Thus, -H, -He,
- -HEA and -HeAdEr mean all the same option.
-
- When <pattern> is specified, Report only lists tasks and processes whose
- names match the given pattern string. Under Workbench 2.x, the standard
- AmigaDOS wildcards can be used. Under 1.3, if the pattern string ends with
- an asterisk (*) all task and process names beginning with the given
- string will be listed.
-
- When $<address> is specified, Report will only list one task with the
- Task structure pointer of <address>. The address mus be given in
- hexadecimal as shown in the task ptr field of Report output. If a given
- task is not found, No match will be printed instead of the task's data.
-
- When #<cli_id> is specified, Report will only list one CLI process
- with the given CLI id number. The id must be a decimal number. If a given
- process is not found, No match will be printed.
-
- -Time option selects the alternate output format of Report, showing the
- task starting and idle times instead of some other information.
-
- -Format option can be used to specify a custom output format. The <fmtchars>
- may contain nay combination of the following formatting characters:
-
- %n task name and arguments (shorter format, 22 columns)
- %N task name and arguments (longer format, 30 columns)
- %t task or process type
- %c CLI process id
- %p priority
- %a address of Task structure
- %s stack size and usage
- %d number of dispatches
- %T CPU time consumed, long format
- %H CPU time consumed, short format (hh:mm)
- %C creation time of task or process
- %i idle tile of task or process
-
- The default format string is "%n %t %c %p %a %s %d %T" and the -Time format
- is "%n %t %c %a %d %T %C %i".
-
- -Header enables the header line for printing. If -Header="<header>" is
- specified, the custom header line will be used instead of the standard
- one. The header line can be set in the environment variable (see below).
- -NOHeader and -Header control the printing of header. By default, the
- header line is printed unless only one task or process is listed. For
- every -NOHeader, one -Header must be given to reverse the option's effect.
-
- -NONumbers and -Numbers control the printing of line numbers. By default,
- the numbers are printed unless only one task or process is listed. For
- every -NONumbers, one -Numbers must be given to reverse the option's effect.
-
- -NOStatus and -Status control the printing of status line. By default, the
- status line is printed unless only one task or process is listed. For
- every -NOStatus, one -Status must be given to reverse the option's effect.
-
- -CLI causes only CLI processes to be printed.
- -TAsk causes only tasks to be printed.
- -Proc causes only non-CLI processes to be printed.
- If several flags are specified, all task types will be printed. By default,
- all types of tasks and processes are printed.
-
- -Ready filters all waiting (idle) processes off the printing causing only
- ready processes to be printed. -Waiting only prints processes which are
- sleeping at the moment. These flags are mutually exclusive. By default,
- all tasks and processes are printed recardless of their state. These flags
- can not be set in the environment variable.
-
-
- Options for the Report command can be given in an environment variable
- called 'report'. The command line options can be used to override the
- defaults or the ones set by the environment variable when needed.
-
-
-
- Other
- ~~~~~
- These programs are still under development. Feel free to send bug reports
- or suggestions to the author.
-
- Thank you for your interest.
-
- Supervisor Software
-
-
-
- Mail: E-Mail: Voice:
-
- Jukka Marin jmarin@uku.fi int. + 358 71 232 793
- Metsurintie 17 B 8 jmarin@messi.uku.fi
- 70150 Kuopio
- FINLAND
-
-
-