*DECK XTERMST USETEXT NIPDEF USETEXT NBT USETEXT PT USETEXT STATTAB USETEXT STATTB2 USETEXT KDIS PROC XTERMST; # DAYFILE GLOBAL STATISTICS AT TERMINATION# *CALL OVLSTAT STARTIMS; # *1DC XTERMST * 1. PROC NAME AUTHOR DATE * XTERMST P.C.TAM 77/08/02 * * 2. FUNCTIONAL DESCRIPTION. * THIS ROUTINE IS A SECONDARY OVERLAY CALLED WHENEVER NAM * SHUT DOWN TO DAYFILE GLOBAL STATISTICS. * * 3. METHOD USED. * A. THE FREQUENCY OF CALL OF ALL OVERLAYS ARE CONVERTED TO * OCTAL NUMBERS IN DISPLAY CODE AND WRITTEN TO THE DAYFILE. * B. THE VALUES OF ALL STATISTICS VARIABLE UNDER THE COMMON * STATTAB ARE CONVERTED TO OCTAL DISPLAY CODES AND DAYFILED. * C. REPEAT STEP B FOR MEMORY MANAGER STATISTICS. * * 4. ENTRY PARAMETERS. * NONE. * * 5. EXIT PARAMETERS. * NONE * * 6. COMDECKS CALLED AND SYMPL TEXTS USED. * NIPDEF OPSIZE OVLSTAT STATTAB * NBT NETWORK BUFFER TABLE * PT GLOBAL COMDECK * STATTB2 * * 7. ROUTINES CALLED. * MCLRIL CLEAR NIP/PIP INTERLOCK * MSETIL SET NIP/PIP INTERLOCK * OCTCON CONVERT A BINARY NUMBER INTO OCTAL DISPLAY * CODE NUMBER * OCTDIS CHECK A NUMBER FOR 00B"S AND CONVERT THEM * INTO 55B"S. * OMSG DAYFILE MESSAGE * XCDD CONVERT INTEGER TO DECIMAL DISPLAY * XTRACE RECORD PROCEDURE CALLS * * 8. DAYFILE MESSAGES. * A. *OVLNAMEXXX= XXXXXXXXXX* * B. *ST$XXXXX= XXXXXXXXXXXXXXXXXXXX* * * W A R N I N G - THIS ROUTINE IS LOADED WITH XCLOST, XENDNAM, * AND OSCEXIT, OR ENDRPV. THE SUM OF THE SIZES * OF XENDNAM, OSCEXIT, XCLOST AND XTERMST, OR * THAT OF XENDRPV, XCLOST AND XTERMST CANNOT * EXCEED THE SIZE OF THE PRIMARY *CALL OPSIZE * * THIS ROUTINE IS CALLED BY XENDNAM, OR XENDRPV. * # STOPIMS; # EXTERNAL VARIABLES # XREF BEGIN PROC MCLRIL; # CLEAR NIP/PIP INTERLOCK # PROC MSETIL; # SET NIP/PIP INTERLOCK # PROC OCTDIS; PROC OCTCON; PROC OMSG; FUNC XCDD C(10); # CONVERT INTEGER TO DECIMAL DISPLAY # PROC XTRACE; # RECORD PROCEDURE CALLS # END # INTERNAL VARIABLES # BASED ARRAY OVLTMP; BEGIN ITEM OVLPGM C(0,0,7); # OVERLAY PGM NAME IN 7 CHAR # ITEM OVLCNT I(0,42,18); # NO OF TIMES THE OVERLAY CALLED# ITEM OVLWD0 U(0,0,WL); END BASED ARRAY ST$TAB S(1); ITEM ST$CNT U(0,0,WL); ARRAY [0:STAB1NO] S(1); BEGIN ITEM ST$NMX1 C(0,0,5) = ["IDLN", "CNBC", "NOAP", "ACB", "ACBX", "AQ", "AQX", "NIB", "INB", "INC", "IDB", "IDC", "ONB", "ONC", "ODB", "ODC", "LNB", "LNC", "LDB", "LDC", "ENB", "ESB", "RCL", "LOOP", "NOL", "NOC", "NMS", "NSC", "NSI", "NDA", "NWR", "NBR", "NAW", "NGE", "NGS", "NPU", "NWA", "NHR", "NXS", "NXP", "TOL", "TMS", "TSC", "TSI", "TDA", "TWR", "TBR", "TAW", "TGE", "TGS", "TPU", "TWA", "THR", "TFL", "TMG", "TXS", "TXP", "TNI", "THI", "TT2", "TT3", "LOL", "LMS", "LSC", "LSI", "LDA", "LWR", "LBR", "LAW", "LGE", "LGS", "LPU", "LWA", "LHR", "LFL", "LMG", "LXS", "LXP", "LNI", "LHI", "LT2", "LT3", "MXS", "MNI", "MHI", "MT2", "MT3", "MXIB"]; END ARRAY ST$REJ [0:3] S(4); BEGIN ITEM ST$TYP C(0,00,10) = ["NET IVT RE", "NET PRU RE", "PIP IVT RE", "PIP PRU RE"]; ITEM ST$FIL1 C(1,00,10) = [4("JECTS = ")]; ITEM ST$NUMREJ C(2,00,04); ITEM ST$FIL2 C(2,24,02) = [4(", ")]; ITEM ST$ET C(2,36,02); ITEM ST$FIL3 C(2,48,02) = [4(", ")]; ITEM ST$FIL4 C(3,00,05) = [4("NN = ")]; ITEM ST$NODE C(3,30,03); ITEM ST$REJEND U(3,48,12) = [4(0)]; END ARRAY [0:STAB2NO] S(1); BEGIN ITEM ST$NMX2 C(0,0,5) = ["GET", "GNB", "REL", "RNB", "FL", "FLW", "FLX", "FLWX", "FLT", "FWT", "FBT", "GBWM", "GBGC"]; END ARRAY DYFL1 S(3); BEGIN ITEM OVLPRGM C(0,0,WC); ITEM OVLEQU C(0,48,1); ITEM OVLFREQ C(1,0,WC); ITEM FILL2A U(2,0,WL)=[0]; END ARRAY DYFL2 S(4); BEGIN ITEM FILL1B C(0,0,WC)=["ST$ - "]; ITEM STNAME C(0,18,5); ITEM STVALU1 C(1,0,WC); ITEM STVALU2 C(2,0,WC); ITEM FILL2B U(3,0,WL)=[0]; END ARRAY TWOWD S(2); BEGIN ITEM WORD1 C(0,0,WC); ITEM WORD2 C(1,0,WC); END DEF NUMOVL #OVLNUM-1#; # NUMBER OF OVERLAYS - 1 # ITEM I,J; #**********************************************************************# BEGIN CONTROL IFEQ STAT,1; CONTROL IFEQ DEBUG,1; XTRACE("XTERM") ; CONTROL FI; # LOG NO OF TIMES EACH OVERLAY GET CALLED # P = LOC(HAPFAILS); # 1ST OVERLAY IN OVLSTAT TABLE # FOR I = 0 STEP 1 UNTIL NUMOVL # LOOP TO DAYFILE OVLSTAT TABLE # DO # STATISTICS # BEGIN OCTDIS(OVLWD0[I], DYFL1); OVLEQU[0] = "="; OCTCON(OVLCNT[I],TWOWD); OVLFREQ = WORD2; OMSG(DYFL1,0); IF KNAMRS[0] THEN OVLCNT[I] = 0; END # LOG STATISTICS FROM NIP INTERNAL PROCS # P = LOC(STTBM)+ 1 ; FOR I = 0 STEP 1 UNTIL STAB1NO DO BEGIN # LOOP TO DAYFILE ALL STATISTICS # STNAME = ST$NMX1[I]; # COLLECTED IN STATTAB # OCTCON(ST$CNT[I],TWOWD); STVALU1 = WORD1; STVALU2 = WORD2; OMSG(DYFL2,0); IF KNAMRS[0] THEN ST$CNT[I] = 0; END # LOG STATISTICS FROM MEMORY MANAGER # P = LOC(ST$GET); FOR I = 0 STEP 1 UNTIL STAB2NO DO BEGIN # LOOP TO LOG ALL STATISTICS FROM MEMORY M# STNAME = ST$NMX2[I]; OCTCON(ST$CNT[I], TWOWD); STVALU1 = WORD1; STVALU2 = WORD2; OMSG(DYFL2,0); IF KNAMRS[0] THEN ST$CNT[I] = 0; END # GET STATISTICS FOR NUMBER OF NPU AND PIP REJECTS # FOR I = 0 STEP NBTFETNO UNTIL NBTMAXID DO BEGIN IF NBTIUF[I] THEN # NBT ENTRY IS IN USE # BEGIN ST$ET[0] = NBTET[I]; # EQUIPMENT MNEUMONIC # J = XCDD(NBTHN[I]);# CONVERT HOST NODE NUMBER TO DISPLAY DEC # ST$NODE[0] = C<7,3>J; # HOST NODE NUMBER IN DISPLAY DECIMAL # ST$TYP[0] = "NET IVT RE"; J = XCDD(NBTNIREJ[I+4]); # CONVERT NO OF REJECTS TO DIS DEC # ST$NUMREJ[0] = C<6,4>J; # NUMBER OF NPU REJECTS OF IVT DATA # OMSG(ST$REJ,0); # ISSUE DAYFILE MESSAGE # ST$TYP[0] = "NET PRU RE"; J = XCDD(NBTNPREJ[I+4]); # CONVERT NO OF REJECTS TO DIS DEC # ST$NUMREJ[0] = C<6,4>J; # NUMBER OF NPU REJECTS OF PRU DATA # OMSG(ST$REJ,0); # ISSUE DAYFILE MESSAGE # ST$TYP[0] = "PIP IVT RE"; J = XCDD(NBTPIREJ[I+5]); # CONVERT NO OF REJECTS TO DIS DEC # ST$NUMREJ[0] = C<6,4>J; # NUMBER OF PIP REJECTS OF IVT DATA # OMSG(ST$REJ,0); # ISSUE DAYFILE MESSAGE # ST$TYP[0] = "PIP PRU RE"; J = XCDD(NBTPPREJ[I+5]); # CONVERT NO OF REJECTS TO DIS DEC # ST$NUMREJ[0] = C<6,4>J; # NUMBER OF PIP REJECTS OF PRU DATA # OMSG(ST$REJ,0); # ISSUE DAYFILE MESSAGE # IF (NBTNIREJ[I+4] + NBTNPREJ[I+4] NQ 0) AND (NOT NAMFAIL ) THEN # NEED TO ZERO NO OF NPU REJECTS # BEGIN MSETIL(0); # SET NIP/PIP INTERLOCK # NBTNIREJ[I+4] = 0; # CLEAR NUMBER OF NPU IVT REJECTS # NBTNPREJ[I+4] = 0; # CLEAR NUMBER OF NPU PRU REJECTS # MCLRIL; # CLEAR NIP/PIP INTERLOCK # END NBTPIREJ[I+5] = 0; # CLEAR NUMBER OF PIP IVT REJECTS # NBTPPREJ[I+5] = 0; # CLEAR NUMBER OF PIP PRU REJECTS # END END CONTROL FI; END # XTERMST # TERM