SUBROUTINE SUMMER C C SUBROUTINE TO PRODUCE A SUMMERY OF INFORMATION FROM C THE SPY FILE. C INCLUDE 'DAGCOM.FTN' !INCLUDE COMMON DEFS AND BLOCKS C INTEGER TOTTRM !NUMBER OF TERMINAL-USAGES REPORTED INTEGER TOTTSK !NUMBER OF TASK-USAGES REPORTED INTEGER NRECS !NUMBER OF SPYRC1'S (# OF USE-USAGES) REAL TOTSYS !NUMBER TICKS IN SYSTEM STATE REAL TOTUSR !NUMBER OF TICKS IN USER STATE REAL TOTNUL !NUMBER OF TICKS IN NULL STATE INTEGER TERMN (MAXTRM) !# OF TERM-USAGES FOR EACH TERMINAL C C** INITIALIZE C DATA TOTTRM,TOTTSK,NRECS /3*0/ DATA TOTSYS,TOTUSR,TOTNUL /3*0.0/ DATA TERMN /MAXTRM*0/ C C** READ THROUGH SPY FILE AND ACCUMULATE STATISTICS C 10 IF (GTREC() .EQ. EOF) GOTO 40 !GET NEXT REC1 AND REC2 NRECS = NRECS+1 !INCREASE USE COUNTER TOTTSK = TOTTSK + SPYTKS !INCREASE TASK COUNTER DO 2000 I=1,MAXTRM IF (NTERMS(I) .EQ. 0) GOTO 2000 !IF TERM NOT BUSY TERMN(I) = TERMN(I) + 1 !INCREMENT SPECIFIC TERM COUNTER TOTTRM = TOTTRM + 1 !AND TOTAL TERMINAL COUNTER 2000 CONTINUE TOTSYS = TOTSYS + FLOAT(SPYSYS) TOTUSR = TOTUSR + FLOAT(SPYUSR) TOTNUL = TOTNUL + FLOAT(SPYNUL) GOTO 10 40 CONTINUE C C** NOW WE WRITE OUR REPORT C WRITE (RPTLUN,100) SPYFIL !WRITE HEADER 100 FORMAT (16X,'SYSTEM USE REPORT FOR: ',24A1) C FACT = STIME/60. !CONVERT OCCURANCES TO HRS T1 = NRECS*FACT T2 = TOTTSK*FACT T3 = TOTTRM*FACT WRITE (RPTLUN,101) T1,T2,T3 !SOME TOTALS 101 FORMAT (/8X,'USE-HRS=',F6.1, 1 ' TASK-HOURS=',F6.1, 2 ' TERMINAL-HOURS=',F6.1) C FACT2 = TICK*60.*60. !CONVERT TICS TO HOURS WRITE (RPTLUN,102) TOTSYS/FACT2,TOTUSR/FACT2,TOTNUL/FACT2 102 FORMAT (8X,'TOTAL HOURS IN SYSTEM,USER,NULL STATES:', 1 F6.2,2F6.1) C IF (MAXTRM .LE. 1) GOTO 90 !IF ONLY 1 TERM, DON'T NEED REPORT WRITE (RPTLUN,103) !PUT OUT HEADER 103 FORMAT (8X,'TERMINAL HOURS:') NX=12 !HOW MUCH TO SPACE FOR THIS TT DO 2100, I=1,MAXTRM NX = NX+12 IF (NX .LE. 80-12) GOTO 2101 !IF THERE'S ROOM ON THIS LINE WRITE (RPTLUN,104) !GO TO NEXT LINE 104 FORMAT (1H ) NX = 24 2101 T1 = TERMN(I) * FACT !CONVERT TERMINAL USAGE TO HOURS WRITE (RPTLUN,105) I-1,T1 105 FORMAT (1H+,X,'TT',O2,F5.0) 2100 CONTINUE C 90 REWIND (SPYLUN) !FINISH UP END