Monitoring System Operation
Example of a System Management Program
107365 Tandem Computers Incorporated
8–5
Figure 8-1. Monitoring System Status (Page 4 of 12)
#POP filename maxext size termout eof pri sec
#OUTPUT
== ---------------------------------------------------------
== Display an analysis of disk space
== ---------------------------------------------------------
#PUSH maxfragments minfreespace addr dsapout dsapout2
#PUSH disk pfree line fragments
== Set the number to flag for maximum fragments:
#SET maxfragments 100
== Set the percent minimum free space to flag
#SET minfreespace 10
#OUTPUT Disk space analysis:
#OUTPUT /HOLD/ disks > [#COMPUTE 100 - [minfreespace]] &
percent full
#OUTPUT ~_and > [maxfragments] fragments ...
DSAP /OUTV dsapout/ *,SHORT
== Remove banner lines from output
#EXTRACTV dsapout line
[#LOOP |WHILE| NOT [#MATCH volume* [line]] |DO|
#EXTRACTV dsapout line
] == end loop
== Remove lines with "unavailable" disks
#SET addr [#CHARFIND dsapout 1 unavailable]
[#LOOP |WHILE| [addr] |DO|
#LINEDEL dsapout [#LINEADDR dsapout [addr]]
#SET addr [#CHARFIND dsapout [addr] unavailable]
] == end loop
== Copy for fragment count
COPYVAR dsapout dsapout2
[#LOOP |WHILE| NOT [#EMPTYV dsapout] |DO|
#EXTRACTV dsapout line == data line
#SET disk [#CHARGET line 1 FOR 8] == disk name
#SET pfree [#CHARGET line 38 FOR 2] == percent
[#IF [pfree] < [minfreespace] |THEN|
#OUTPUT /HOLD/[Tcr][disk]
#OUTPUT /COLUMN 13/ is [#COMPUTE 100 - [pfree]] &
percent full.[Tce]
] == end if
] == end loop