Trailing-Edge
-
PDP-10 Archives
-
decuslib10-06
-
43,50437/dskout.for
There are 2 other files named dskout.for in the archive. Click here to see a list.
SUBROUTINE DSKOUT
INCLUDE 'SYSREP.PRM'
DOUBLE PRECISION LNAM,PNAM,UNTID
REAL IOSEK
C
C DISK STATS GET DONE HERE
C
C VARIABLE DEFINITIONS:
C
C PCNTUS PERCENT OF DISK SPACE USED
C MNTCNT MOUNT COUNT
C MONSEK MONITOR SEEKS
C USRSEK USER SEEKS
C USRIO USER I/O'S
C MONIO MONITOR I/O'S
C TOTSEK TOTAL SEEKS
C TOTIO TOTAL I/O'S
C IOSEK I/O'S PER SEEK (REAL)
C LNAM LOGICAL NAME (DP ASCII)
C PNAM PHYSICAL NAME (DP ASCII)
C UNTID UNIT ID (DP ASCII)
C
CALL DTOUT(X1,X2,1)
CALL DTOUT(Y1,Y2,2)
WRITE(23,50) REC000(9,1),X1,X2,REC000(9,2)
1,Y1,Y2
80 FORMAT(1X,'Drive',6X,'Pack',9X,'Count',3X,'Used',4X,'Seek'
1,4X,'Seek',4X,'I/Os',4X,'I/Os',4X,'Seek',4X,'I/Os'
2,4X,'Seek',3X,'errs',3X,'errs',/)
90 FORMAT(1X,24X,'Mount',5X,'%',4X,'Montr',4X,'User',4X
1,'User',3X,'Montr',3X,'Total',3X,'Total',4X,'I/Os'
2,3X,'Hard',3X,'Soft')
WRITE(23,90)
WRITE(23,80)
DO 10 I = 1,NUMDSK
C
C --IF MONITOR OR USER SEEKS LOWER SKIP (OR LNAM CNANGE)
C
IF (REC601(I,10,2) .LT. REC601(I,10,1)) GOTO 20
IF (REC601(I,6,2) .NE. REC601(I,6,1)) GOTO 20
C
C --GATHER STATISTICS
C
PCNTUS = 0
IF (REC601(I,2,2) .EQ. 0) GOTO 30
PCNTUS = (REC601(I,2,2)*100)/REC601(I,3,2)
PCNTUS = 100-PCNTUS
30 MNTCNT = REC601(I,4,2)
MONSEK = REC601(I,10,2)-REC601(I,10,1)
USRSEK = REC601(I,11,2)-REC601(I,11,1)
USRIO = REC601(I,12,2)-REC601(I,12,1)
MONIO = REC601(I,13,2)-REC601(I,13,1)
TOTSEK = MONSEK+USRSEK
TOTIO = MONIO+USRIO
J3 = I
CALL PLTDK(PCNTUS,J3,1)
CALL PLTDK(MNTCNT,J3,2)
CALL PLTDK(MONSEK,J3,3)
CALL PLTDK(USRSEK,J3,4)
CALL PLTDK(USRIO,J3,5)
CALL PLTDK(MONIO,J3,6)
CALL PLTDK(TOTSEK,J3,7)
CALL PLTDK(TOTIO,J3,8)
HRDERR = LSH(REC601(I,14,1),-18)+(REC601(I,14,1) .AND. "777777)
HRDERR = HRDERR-(LSH(REC601(I,14,2),-18)+(REC601(I,14,2) .AND.
1"777777))
SFTERR = LSH(REC601(I,15,1),-18)+(REC601(I,15,1) .AND. "777777)
SFTERR = SFTERR-(LSH(REC601(I,15,2),-18)+(REC601(I,15,2) .AND.
2"777777))
HRDERR = -HRDERR ; SFTERR = -SFTERR
IOSEK = 0
IF (TOTSEK .EQ. 0) GOTO 70
IOSEK = FLOAT(TOTIO)/FLOAT(TOTSEK)
70 CALL ASCII(REC601(I,6,2),LNAM)
CALL ASCII(REC601(I,7,2),PNAM)
CALL ASCII(REC601(I,8,2),UNTID)
40 FORMAT(1X,A6,1X,A5,'(',A6,')',5X,I3,4X,I3,3X,I6
1,2X,I6,2X,I6,2X,I6,2X,I6,2X,I6,3X,F5.1,3X,I3,4X,I3)
50 FORMAT(1X,'From',1X,I2,':',2I1,1X,'To',1X,I2,':',2I1,/)
60 FORMAT(1H3)
WRITE(23,40) PNAM,LNAM,UNTID,MNTCNT,PCNTUS,MONSEK
1,USRSEK,USRIO,MONIO,TOTSEK,TOTIO,IOSEK,HRDERR,SFTERR
20 CONTINUE !BLANK FOR NOW
10 CONTINUE
WRITE(23,60)
RETURN
END