1 02/28/85  system_performance_graph, spg
  2 
  3 Syntax as a command:  spg sample_time {-control_args}
  4 
  5 
  6 Function:  generates a system of graphs that meter information
  7 concerning system performance and operation.  The output can be
  8 directed to a file or to the controlling terminal.  Periodically,
  9 metering information is presented in an output line.  The initial line
 10 contains the cumulative values since system initialization.  Whenever
 11 there is a change in system configuration or any of several parameters
 12 affecting system performance, an additional line noting the change is
 13 issued before the sample line.  In this way, a system of graphs is
 14 developed where various metered quantities are plotted against time.
 15 Because the sampling is implemented by means of an event call channel,
 16 it is possible to use the terminal in a restricted way for other
 17 purposes while metering is in progress.  All output is produced on the
 18 I/O switch spg_output_.
 19 
 20 
 21 Arguments:
 22 sample_time
 23    is a decimal integer giving the time, in minutes, desired between
 24    meter display lines.
 25 
 26 
 27 Control arguments:
 28 -halt, -ht
 29    terminates plotting.
 30 -output_file {path}, -of {path}
 31    directs output to a file called spg_output, or if a path is
 32    supplied, directs output the the file specified by path.
 33 -short
 34    compresses the width of the meter display lines (see "Notes" below).
 35 
 36 
 37 Access required:  This command requires access to phcs_ or
 38 metering_gate_.
 39 
 40 
 41 Notes:  Description of the output pattern.
 42 
 43 1. An initial line gives the date and time that metering sampling
 44    began.
 45 
 46 2. A line is given describing configuration and scheduling parameter
 47    settings.
 48 
 49 3. The current state of the meters since system initialization is on
 50    the next line where the sample time is replaced by the system
 51    initialization line.
 52 
 53 
 54 4. Each subsequent meter display line gives the incremental status of
 55    the meters since the previous line.  In addition, whenever the
 56    configuration or scheduling parameter settings change, a
 57    notification line is interspersed.
 58 
 59 
 60 The following is a description of the meter display line.
 61 
 62 Each line contains, in the left margin, the time that the sample was
 63 taken.  Each sample is scheduled to be taken at an exact minute so that
 64 the amount that the time given exceeds the minute represents the
 65 response time.  Strictly interpreted, the time discrepancy is the
 66 response time of a trivial request only if the metering computation is
 67 less than the quantum and if the command argument sample_time is
 68 greater than one minute so that interactive scheduling occurs.
 69 
 70 
 71 The remainder of the meter display line consists of a sequence of
 72 superimpositions over a grid 100 units wide.  When the -short control
 73 argument is given, the total width of the grid is only 50 units, so all
 74 individual components are correspondingly compressed.  The "Example"
 75 section below shows the output when the command is invoked with the
 76 -short control argument.  The wider display would, of course, be easier
 77 to read.  The 100-unit grid is created by vertical bars every 10 spaces
 78 with periods at the intervening midpoints between the bars.  Over this
 79 grid, various metering quantities are superimposed in the order shown
 80 below.  When the superimposition is complete, the resultant line
 81 containing only the last characters superimposed is printed.
 82 
 83 
 84 1. Time Usage Percentages
 85    blank
 86       located to the right of y to right margin user processing not in
 87       ring 0.  (The position of y is an estimate; it is a figure that
 88       divides user processing into ring 0 and non-ring 0 sections.)
 89    blank
 90       located to the right of s to left of y user processing in ring 0.
 91    s
 92       time spent handling segment faults.
 93    p
 94       time spent handling page faults.
 95    t
 96       time spent in the traffic controller.
 97 
 98 
 99    i
100       interrupt processing.
101    multiprogramming idle, *
102       nonmultiprogramming idle.
103    blank
104       located from the left margin to left of *'s zero idle.
105 
106 2. Other Values
107 
108    The current average is determined from samples taken at one-second
109    intervals weighted backwards in time exponentially, with a smoothing
110    constant of 1/64.  The effect is to average over roughly the last
111    minute.
112 
113 
114    q
115       relative to the left margin
116       current average of the ready list length.
117    e
118       relative to the left margin
119       current average of the number of eligible processes.
120    r
121       relative to the left margin
122       current average of the response time in seconds, for trivial
123       requests.
124    Q
125       relative to the left margin
126       average over a sample of quits/minute.
127 
128 
129    S
130       relative to the left margin
131       average over a sample of schedulings/(10 seconds).
132    D
133       relative to the right margin
134       average over a sample of disk read and write traffic in units of
135       pages/(.1 seconds).  Full scale equals 1000/sec.
136    P
137       relative to the right margin
138       average over a sample of all read and write traffic (bulk store
139       and disk) in units of pages/(.1 seconds).  Full scale equals
140       1000/sec.
141 
142 
143    V
144       relative to the right margin
145       average over a sample of VTOC entry read and write traffic in
146       units of VTOCES/(.1 seconds).  Full scale equals 1000 VTOCES
147       transferred per second.
148    -
149       relative to the left margin
150       number of load units at the time of the sample.  If this number
151       is greater than 100, 100 is assumed.
152    +
153       relative to the left margin
154       number of users at the time of the sample.  If this number is
155       greater than 100, 100 is assumed.