home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
594b.lha
/
Spy_v0.32
/
spy.doc
< prev
next >
Wrap
Text File
|
1992-01-02
|
11KB
|
266 lines
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