@V7 54 2 -5
@L3 COUK1247
80
@V9 0
@YCHAPTER 22 - MUSS USER MANUAL
@G@RCHAPTER 22 - PERFORMANCE MEASUREMENT@G
@V10 1 9 274
@T% 10
@BThis Chapter describes the procedures provided in MUSS
for interactive benchmarking and collecting statistics
about the system.
@S222.1 COMMANDS
@BThere are two categories of commands associated with
benchmarking and performance measurement, namely
an organisational function for acquiring system
statistics and a number of high-level procedures
for printing statistics and benchmarking.
@S322.1.1 Organisational Command
@
@
1) @JSYSTEM.STATS()
@BThis procedure returns (in PW1) a new segment, containing
statistics about the system since restarting.
@BThe following integers will be returned in the segment:@
@Q 19
@
@MNumber of organisational commands called
@NTime at user level
@NTime at command level
@NTime at interrupt level
@NTime at appendix level
@NNumber of drum transfers in
@NNumber of drum transfers out
@NTotal number of blocks transferred
@NElapsed time (seconds)
@NNumber of processes created
@NNumber of segments created
@NNumber of X segments created
@NNumber of long messages sent
@NNumber of short messages sent
@NNumber of files opened
@NNumber of files created
@NNumber of files updated
@NTotal number of tasks set
@S322.1.2 High-Level Procedures
@BTwo procedures are provided for noting and printing the
statistics collected about the system:@
@
@
1) @JREAD.STATS()
@BThis procedure notes the current values of the system
statistics.@
@
@
2) @JOUT.STATS(I)
@BThis procedure prints the statistics collected. Two
options are available. If the parameter is zero, the
difference in statistics since the last call of
READ.STATS will be printed. Thus a program can
monitor the performance of the system between any
two points.
@BIf the parameter is non-zero, or if READ.STATS
has not been called, the statistics printed relate
to the behaviour of the system since restarting.
@
@
3) @JINT.JOB.JOB([C],[C],I)
@BThis procedure implements an interactive benchmarking
facility. It runs a set of interactive jobs, supplied as
input 'scripts' on files. Each script is run from a
specified number of terminals, and may if required be
run more than once from each terminal. The scripts
should not contain the command STOP.
@BInput is supplied to the jobs a line at a time, each
line being sent only after receiving a prompt in response
to the preceding line. Prompts are recognised by the
character NULL, which appears in all standard system
prompts.
@BOn completion of all scripts, the system statistics
collected during the session are output to a log.
In addition a complete record of all short messages
input and output is kept in the log.
@BP1 is name of the supervisor used for job
initiation (default is JOB). P2 is name of the output
document (log) on which the session log is to be output.
If P2 is not specified, the currently selected output
stream will be used. P3 is a numeric delimiter character, used
to parameterise the scripts. If this is non-zero, then
any occurrence of this character within the scripts
will be replaced by a numeric terminal identifier.
As a result several terminals may perform similar
scripts operating upon different files.
@BDelays can be put in the scripts by inserting lines
which start with "~" followed by either an integer,
specifying the delay in seconds, or by the delimiter
character, which generates random delays.
@BA list of the files containing the scripts,
with the number of terminals and number of
repetitions for each script, should appear on
the current input stream, terminated by the
character '@@'.
@
@
Example:@
@U 7
@
               ***A JOB USER PASS IJJ C1000
               INT.JOB.JOB(JOB,LOG.FILE,?)
               SCRIPT1 20 5
               SCRIPT2 5 15
               @@STOP
               ***Z
@BIf INT.JOB.JOB is initiated interactively, appropriate
prompts will steer users.
@F
