$! $! This command procedure calculates a performance value for the $! day, scales the number, and prints it to the screen $! $ SET NOVERIFY $! SET VERIFY $ SET NOON $ SET DEF PERFORM $! $! get the benchmark for this machine for service level calculations $! $ OPEN/READ BENCH_MARK_FILE BENCH_MARK.DAT $ READ BENCH_MARK_FILE BENCH_MARK $ CLOSE BENCH_MARK_FILE $! $! $! $! Open file ,read, and total the elapsed times that were recorded $! throughout the day $! $ N = 0 $ COUNT = 0 $ OPEN/ERROR=ERROR_FILE OUT_FILE PERFORM:PERFTIME.RPT $ READ_LOOP: $ READ/END_OF_FILE=ENDIT OUT_FILE INFO $ COUNT = COUNT + 1 $ VALUE = F$EXTRACT(36,3,INFO) $ N = N + VALUE $ GOTO READ_LOOP $ ENDIT: $ CLOSE OUT_FILE $! $! Multiply by a factor of 100 (in order to avoid decimals) and then average $! $ NPOINT = (N * 10) / COUNT $! $! Scale value $! $! divide the AVERAGE PERFORMANCE TIME by the time required to $! run the test on an "empty" system -- $ PSCALE = NPOINT / BENCH_MARK $! $! Put scaled value into a decimal format $! $ PSTRING = F$STRING(PSCALE) $ PLENGTH = F$LENGTH(PSTRING) $ PSTRING = F$EXTRACT(0,PLENGTH-1,PSTRING) + "." + - F$EXTRACT(PLENGTH-1,1,PSTRING) $! $! Assign a word to describe different ranges of scaled values. $! $ IF (PSCALE .LE. 30) THEN PERFORMANCE = "Level 1" $ IF (PSCALE .GT. 30 .AND. PSCALE .LE. 60) THEN - PERFORMANCE = "Level 2" $ IF (PSCALE .GT. 60) THEN PERFORMANCE = "Level 3" $! $! Create message file and write data into it. $! $ OPEN/WRITE TEMPFIN PERFORM:DAILYCHK.DAT $ WRITE TEMPFIN " " $ WRITE TEMPFIN " 1 - 3 Level 1 " $ WRITE TEMPFIN " 4 - 6 Level 2 " $ WRITE TEMPFIN " 7 - Level 3 " $ WRITE TEMPFIN " " $ WRITE TEMPFIN " ?????5:: ''PSTRING' = ''PERFORMANCE'" $ CLOSE TEMPFIN $! $ TYPE DAILYCHK.DAT $ PURGE DAILYCHK.DAT $! $ ERROR_FILE: $ EXIT