*NOSEQ
*WIDTH 132
.PROC,SMFSTAT.
RETURN,ZZZDATA.
REWIND,ZZZSTAT,TAPE2,TAPE3,TAPE4,ZZZLGO.
$FSE,ZZZDATA.SUN
FTN5,I=ZZZSTAT,L=0,B=ZZZLGO.
ZZZLGO,ZZZDATA.
REWIND,TAPE2,TAPE3,TAPE4,STATOUT.
COPYSBF,TAPE4,STATOUT.
COPYSBF,TAPE3,STATOUT.
COPYSBF,TAPE2,STATOUT.
REWIND,TAPE4.
COPY,TAPE4,OUTPUT.
REVERT. SMFSTAT COMPLETE.
EXIT.
REVERT. SMFSTAT FAILED.
.DATA,ZZZSTAT.
PROGRAM SMFSTAT(TAPE1,TAPE2,TAPE3,TAPE4)
INTEGER SCLR(49), VCTR1(18), VCTR2(18)
INTEGER VCTR3(18), VCTR4(18), VCTR5(18), VCTR6(18)
CHARACTER*20 LBL1(18), LBL2(18), LBL3(18)
CHARACTER*20 LBL4(18), LBL5(18), LBL6(18)
CHARACTER*55 TAG(43)
DATA (TAG(I),I=1,15) /
+ ' SURPLUS WORD, NOT ON CONSOLE DISPLAYS ',
+ ' NUMBER OF CRITICAL IAF BUFFER SHORTAGES ',
+ ' NUMBER OF TASK SHORTAGES ',
+ ' NUMBER OF SESSIONS ',
+ ' NUMBER OF TRANSACTIONS ',
+ ' TOTAL RESPONSE TIME IN MILLISECONDS ',
+ ' TOTAL THINK TIME IN MILLISECONDS ',
+ ' PREEMPTIVE SWAPS TO ADVANCE TTY OUTPUT ',
+ ' PREEMPTIVE SWAPS FOR TASK SHORTAGE ',
+ ' PREEMTIVE SWAPS FOR IAF BUFFER SHORTAGE ',
+ ' TTY OUTPUT FRAGMENTATION (BUFFER OVERFLOW) ',
+ ' USER BREAKS ',
+ ' USER DETACHES ',
+ ' MAXIMUM USERS LOGGED IN ',
+ ' CURRENT NUMBER OF USERS ' /
DATA (TAG(I),I=16,30) /
+ ' REAL TIME CLOCK ',
+ ' NUMBER OF RECALL CYCLES ',
+ ' NUMBER OF USER-ECS SWAPS ',
+ ' NUMBER OF DISK SWAPS ',
+ ' TOTAL SWAPPING TIME IN MILLISECONDS ',
+ ' TOTAL CIO TIME IN MILLISECONDS ',
+ ' NUMBER OF CIO CALLS ',
+ ' NUMBER OF TRANSACTIONS CAUSING ZERO CIO CALLS ',
+ ' NUMBER OF TRANSACTIONS CAUSING 16/MORE CIO CALLS ',
+ ' NUMBER OF CIO CALLS IN LARGE TRANSACTIONS ',
+ ' TOTAL WORKFILE CIO CALLS FOR INITIAL BUILDS ',
+ ' TTY INPUT WORDS ',
+ ' TTY OUTPUT WORDS ',
+ ' TTY OUTPUT BLOCKS ',
+ ' NUMBER OF OUTPUT FRAGMENTS WITH SWAP AVOIDANCE ' /
DATA (TAG(I),I=31,43) /
+ ' TOTAL MILLSECONDS OF TASK UTILIZATION ',
+ ' WORKFILE LINE ACCESSES ',
+ ' WORKFILE SECTORS READ FROM CACHE ',
+ ' WORKFILE SECTORS READ FROM DISK ',
+ ' WORKFILE DRAIN OUTPUT TO SWITCH BUFFER TO INPUT ',
+ ' WORKFILE PURGE WRONG INPUT SECTOR ',
+ ' WORKFILE CACHE FLUSH SEQUENCES ',
+ ' WORKFILE PURGE INPUT TO SWITCH BUFFER TO OUTPUT ',
+ ' WORKFILE SECTORS WRITTEN TO DISK ',
+ ' WORKFILE DISCONTIGUOUS WRITE EVENTS ',
+ ' WORKFILE PADDING SECTORS ',
+ ' WORKFILE CIO READ FUNCTIONS ',
+ ' RECALL TO MINIMIZE CPU UTILIZATION ' /
DATA LBL1/ ' ', ' ', 'INSTANT', '1/64 SEC', '1/32 SEC',
+ '1/16 SEC', '1/8 SEC', '1/4 SEC', '1/2 SEC', '1 SEC',
+ '1-2 SEC', '2-4 SEC', '4-8 SEC', '8-16 SEC', '16-32 SEC',
+ '32-64 SEC', '64-128 SEC', '128 OR MORE SEC' /
DATA LBL2/ ' ', ' ', 'LESS THAN 1 SEC', '1-2 SEC',
+ '2-4', '4-8', '8-16', '16-32', '32-64', '64-128',
+ '128-256', '256-512', '512-1K', '1K - 2K', '2K - 4K',
+ '4K - 8K', '8K - 16K', '16K OR MORE' /
DATA LBL3/ ' ', ' ', 'ZERO', '1', '2-3', '4-7',
+ '8-15', '16-31', '32-63', '64-127',
+ '128-255', '256-511', '512-1K', '1K - 2K', '2K - 4K',
+ '4K - 8K', '8K - 16K', '16K OR MORE' /
DATA LBL4/ ' ', ' ', 'ZERO', '1', '2-3', '4-7',
+ '8-15', '16-31', '32-63', '64-127',
+ '128-255', '256-511', '512-1K', '1K - 2K', '2K - 4K',
+ '4K - 8K', '8K - 16K', '16K OR MORE' /
DATA LBL5/ ' ', ' ', 'ZERO', '1', '2-3', '4-7',
+ '8-15', '16-31', '32-63', '64-127',
+ '128-255', '256-511', '512-1K', '1K - 2K', '2K - 4K',
+ '4K - 8K', '8K - 16K', '16K OR MORE' /
DATA LBL6/ ' ', ' ', 'ZERO', '1', '2-3', '4-7',
+ '8-15', '16-31', '32-63', '64-127',
+ '128-255', '256-511', '512-1K', '1K - 2K', '2K - 4K',
+ '4K - 8K', '8K - 16K', '16K OR MORE' /
READ(1,1001) SCLR, VCTR1, VCTR2, VCTR3, VCTR4,
+ VCTR5, VCTR6
1001 FORMAT( 49(O20,/), 6(O10,O10,/,4O5,/,4O5,/,4O5,/,4O5,/) )
WRITE(3,3001) (TAG(I),SCLR(I),I=2,43)
3001 FORMAT(1X,A55,I10)
WRITE (4,4001) SCLR(4), SCLR(5), SCLR(14)
4001 FORMAT(' SESSIONS, TRANSACTS, MAX USERS ', 3I10)
WRITE (4,4002) .001*FLOAT(SCLR(6))/SCLR(5)
4002 FORMAT(' AVERAGE RESPONSE TIME ', F10.3)
WRITE (4,4003) .001*FLOAT(SCLR(7))/SCLR(5)
4003 FORMAT(' AVERAGE THINK TIME ', F10.3)
WRITE (4,4004) .001*FLOAT(SCLR(21))/SCLR(22)
4004 FORMAT(' AVERAGE CIO TIME ', F10.3)
WRITE (4,4005) FLOAT(SCLR(22))/SCLR(5)
4005 FORMAT(' AVERAGE CIO PER TRANSACTION ', F10.3)
WRITE (4,4006) FLOAT(SCLR(5))/SCLR(4)
4006 FORMAT(' AVERAGE TRANSACT PER SESSION ', F10.3)
WRITE (4,4007) FLOAT(SCLR(23))/SCLR(5)
4007 FORMAT(' FRACTION OF ZERO-CIO TRANSACT', F10.3)
WRITE (4,4008) FLOAT(SCLR(34))/SCLR(33)
4008 FORMAT(' RATIO PRUS READ/CACHED ', F10.3)
WRITE (4,4009) FLOAT(SCLR(34))/SCLR(42)
4009 FORMAT(' RATIO PRUS READ/CIO CALL ', F10.3)
WRITE (4,4010) FLOAT(SCLR(33))/SCLR(42)
4010 FORMAT(' RATIO CACHE HITS/CIO CALL ', F10.3)
WRITE (4,4011) FLOAT(SCLR(27))/SCLR(5)
4011 FORMAT(' INPUT WORDS PER TRANSACT ', F10.3)
WRITE (4,4012) FLOAT(SCLR(28))/SCLR(5)
4012 FORMAT(' OUTPUT WORDS PER TRANSACT ', F10.3)
WRITE (4,4013) FLOAT(SCLR(24))/SCLR(5)
4013 FORMAT(' FRACTION OF TRANSACTS LARGE ', F10.3)
WRITE (4,4014) FLOAT(SCLR(25))/SCLR(22)
4014 FORMAT(' FRACTION OF CIOS, LARGE TRANS', F10.3)
WRITE (4,4015) FLOAT(SCLR(32))/SCLR(5)
4015 FORMAT(' AVERAGE LINE ACCESSES/TRANS ', F10.3)
WRITE (4,4016) FLOAT(SCLR(32))/SCLR(22)
4016 FORMAT(' RATIO LINE ACCESSES TO CIOS ', F10.3)
WRITE (4,4017) FLOAT(SCLR(31))/SCLR(16)
4017 FORMAT(' TASK UTILIZATION FACTOR ', F10.3)
WRITE (4,4018) FLOAT(SCLR(30))/SCLR(11)
4018 FORMAT(' FRACTION OF MSGS UNSWAPPED ', F10.3)
WRITE(2,2051) VCTR1(1)/(64.0*VCTR1(2))
2051 FORMAT(/,' AVERAGE RESPONSE TIME PER TRANSACTION ',F10.3)
WRITE(2,2001) (LBL1(I),VCTR1(I),I=3,18)
2001 FORMAT(/,' TRANSACTIONS PER RESPONSE TIME CATEGORY ', //,
+ 16(10X,A12,I10,/) )
WRITE(2,2052) VCTR2(1)/FLOAT(VCTR2(2))
2052 FORMAT(/,' AVERAGE THINK TIME PER TRANSACTION ',F10.3)
WRITE(2,2002) (LBL2(I),VCTR2(I),I=3,18)
2002 FORMAT(/,' TRANSACTIONS PER THINK TIME CATEGORY ', //,
+ 16(10X,A12,I10,/) )
WRITE(2,2053) VCTR3(1)/FLOAT(VCTR3(2))
2053 FORMAT(/,' AVERAGE CIO CALLS PER TRANSACTION ',F10.3)
WRITE(2,2003) (LBL3(I),VCTR3(I),I=3,18)
2003 FORMAT(/,' TRANSACTIONS PER CIO COUNT CATEGORY ', //,
+ 16(10X,A12,I10,/) )
WRITE(2,2054) VCTR4(1)/FLOAT(VCTR4(2))
2054 FORMAT(/,' AVERAGE TRANSACTIONS PER SESSION ',F10.3)
WRITE(2,2004) (LBL4(I),VCTR4(I),I=3,18)
2004 FORMAT(/,' SESSIONS PER TRANSACTION COUNT CATEGORY ', //,
+ 16(10X,A12,I10,/) )
WRITE(2,2055) VCTR5(1)/FLOAT(VCTR5(2))
2055 FORMAT(/,' AVERAGE WORKFILE LINES PER SESSION ',F10.3)
WRITE(2,2005) (LBL5(I),VCTR5(I),I=3,18)
2005 FORMAT(/,' SESSIONS PER FILE SIZE CATEGORY ', //,
+ 16(10X,A12,I10,/) )
WRITE(2,2056) VCTR6(1)/FLOAT(VCTR6(2))
2056 FORMAT(/,' AVERAGE OUTPUT MESSAGE SIZE ',F10.3)
WRITE(2,2006) (LBL6(I),VCTR6(I),I=3,18)
2006 FORMAT(/,' TRANSACTIONS PER OUTPUT MSG SIZE CATEGORY ', //,
+ 16(10X,A12,I10,/) )
STOP
END
*WEOR