! ! This is a slightly newer version of the System Accounting ! DATATRIEVE Structures. Some of the things in here duplicate ! those in ACCOUNT.DTR ! ! B. Z. Lederman ! DELETE BASE_CRASH; DEFINE DOMAIN BASE_CRASH USING BASE_CRASH_REC ON ACNTRN.SEQ; DELETE BASE_RESET; DEFINE DOMAIN BASE_RESET USING BASE_RESET_REC ON ACNTRN.SEQ; DELETE BASE_START; DEFINE DOMAIN BASE_START USING BASE_START_REC ON ACNTRN.SEQ; DELETE CODES; DEFINE DOMAIN CODES USING CODES_REC ON CODES.DOM; DELETE DEMO_TASK; DEFINE DOMAIN DEMO_TASK USING DEMO_TASK_REC ON TASK.SEQ; DELETE DEVICE_SUM; DEFINE DOMAIN DEVICE_SUM USING DEVICE_SUM_REC ON DEVSUM.SEQ; DELETE REDUCED_DEVICE; DEFINE DOMAIN REDUCED_DEVICE USING REDUCED_DEVICE_REC ON DEVDAT.SEQ; DELETE REDUCED_TASK; DEFINE DOMAIN REDUCED_TASK USING REDUCED_TASK_REC ON TASK.SEQ; DELETE T; DEFINE DOMAIN T USING REDUCED_TASK_REC ON TASK.SEQ; DELETE CORRECT_TASK_SUM; DEFINE PROCEDURE CORRECT_TASK_SUM ! ! The idea here is: take tasks that get reported as terminal specific ! (such as PIPT1, PIPT2, PIPT3) and put them back to their generic ! form for more uniform reporting (i.e., ...PIP). ! ! B. Z. Lederman ! ! First, fix things up. ! READY REDUCED_TASK MODIFY FOR REDUCED_TASK WITH TASK NOT IN NOCHANGE_TAB MODIFY USING BEGIN EXT = NAME NAME = "..." END ! ! Next, do the report. ! REPORT REDUCED_TASK ON ALLTSK.SEQ SET COLUMNS_PAGE = 132 SET LINES_PAGE = 255 AT TOP OF PAGE PRINT " " AT BOTTOM OF TASK PRINT COL 1, TASK(" "), COL 12, BEGIN_DATE, COL 23, COUNT USING 9(4), SPACE 1, PRI USING 999, SPACE 1, TOTAL(ELAPSED_TIME) USING 9(9), SPACE 1, TOTAL(CPU_TIME) USING 9(9), SPACE 1, TOTAL(DIRECTIVES) USING 9(9), SPACE 1, TOTAL(QIOS) USING 9(9), SPACE 1, TOTAL(CNXT) USING 9(9), SPACE 1, TOTAL(CHECKPOINTS) USING 9(9), SPACE 1, TOTAL(OVERLAYS) USING 9(9) END_REPORT FINISH END-PROCEDURE DELETE CRASH_REPORT; DEFINE PROCEDURE CRASH_REPORT READY BASE_CRASH REPORT BASE_CRASH WITH CODE=20 SORTED BY LAST_DATE ON CRASH.RPT SET COLUMNS_PAGE = 80 SET REPORT_NAME = "System Crash Record" PRINT LAST_DATE, LAST_TIME, SCAN_RATE, RESTART_DATE, RESTART_TIME, REASON END_REPORT FINISH END-PROCEDURE DELETE DEMO_REPORT; DEFINE PROCEDURE DEMO_REPORT ! ! Show how only certain tasks need be reported ! READY DEMO_TASK REPORT DEMO_TASK WITH NAME IN NAME_TAB ON DEMO.RPT SET LINES_PAGE = 55 SET COLUMNS_PAGE = 132 SET REPORT_NAME = "Selected Task Accounting" AT TOP OF NAME PRINT "Task", SPACE 1, TASK(" "), SPACE 1, "Priority", SPACE 1, PRI(" ") PRINT COL 36, ELAPSED_TIME, CPU_TIME, DIRECTIVES, QIOS, CNXT, CHECKPOINTS, OVERLAYS AT BOTTOM OF NAME PRINT SKIP, COL 1, TASK(" "), SPACE 1, "totals", COL 36, TOTAL(ELAPSED_TIME) USING ZZZ,ZZ9, TOTAL(CPU_TIME) USING ZZZ,ZZ9, TOTAL(DIRECTIVES) USING ZZZ,ZZ9, TOTAL(QIOS) USING ZZZ,ZZ9, TOTAL(CNXT) USING ZZZ,ZZ9, TOTAL(CHECKPOINTS) USING ZZZ,ZZ9, TOTAL(OVERLAYS) USING ZZZ,ZZ9, SKIP, COL 1, COUNT USING ZZ,ZZ9, SPACE 5, "run avg/sec", COL 36, AVERAGE(ELAPSED_TIME) USING ZZZ,ZZ9.9, SPACE 8, (AVERAGE(CPU_TIME) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 6, (AVERAGE(DIRECTIVES) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(QIOS) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(CNXT) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(CHECKPOINTS) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(OVERLAYS) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SKIP 2 END_REPORT FINISH END-PROCEDURE DELETE DEVICE_SUM_CREATE; DEFINE PROCEDURE DEVICE_SUM_CREATE ! ! Go through the Device statistics data and change running totals ! to individual collection period statistics. ! ! B. Z. Lederman ! DECLARE IO PIC 9(9) USAGE COMP. DECLARE WORD PIC 9(9) USAGE COMP. DECLARE CYL PIC 9(9) USAGE COMP. DECLARE TEMP PIC 9(9) USAGE COMP. DECLARE OLDDEV PIC X(6). ! ! Initialize all fields ! IO = 0 WORD = 0 CYL = 0 OLDDEV=" " DEFINE FILE FOR DEVICE_SUM; ! will have all new data READY DEVICE_SUM WRITE READY REDUCED_DEVICE FOR REDUCED_DEVICE BEGIN ! transfer data STORE DEVICE_SUM USING BEGIN DATE = DATE TIME = TIME DEVICE = DEVICE IF (OLDDEV NE DEVICE) BEGIN ! re-set on new device IO = 0 WORD = 0 CYL = 0 END TEMP = IO_COUNT - IO ! check for device re-mounts IF TEMP LT 0 IO = 0 TEMP = WORD_COUNT - WORD IF TEMP LT 0 WORD = 0 TEMP = CYL_CROSSED - CYL IF TEMP LT 0 CYL = 0 IO_SUM = IO_COUNT - IO ! activity for last period WORD_SUM = WORD_COUNT - WORD CYL_SUM = CYL_CROSSED - CYL END IO = IO_COUNT WORD = WORD_COUNT CYL = CYL_CROSSED OLDDEV = DEVICE END FINISH RELEASE IO RELEASE WORD RELEASE CYL RELEASE OLDDEV END-PROCEDURE DELETE DEVICE_SUM_REPORT; DEFINE PROCEDURE DEVICE_SUM_REPORT READY DEVICE_SUM ! ! The following could be change to eliminate periods of little activity ! (i.e., IO_SUM > 100) rather than no activity. ! ! B. Z. Lederman ! REPORT DEVICE_SUM WITH IO_SUM > 0 ON DEVSUM.RPT SET COLUMNS_PAGE = 78 SET REPORT_NAME = "Device Statistics Summary" AT TOP OF PAGE PRINT REPORT_HEADER, SKIP, "Device", SPACE 1, DEVICE, SKIP 1, COLUMN_HEADER AT TOP OF DEVICE PRINT NEW_PAGE PRINT DATE, TIME, IO_SUM, WORD_SUM, CYL_SUM AT BOTTOM OF DEVICE PRINT SKIP, "Maximums for",SPACE 1, DEVICE(" "), MAX(IO_SUM), MAX(WORD_SUM), MAX(CYL_SUM) END_REPORT FINISH END-PROCEDURE DELETE LODTST_REPORT; DEFINE PROCEDURE LODTST_REPORT ! ! I was running tests on various versions of SORT, and was running the ! tests from the batch queue so the accounting statistics would be ! captured in the log file. This report picks up tasks containing ! a virtual device terminal designation, which means it picks up the ! tasks which ran from the batch queue only. ! ! B. Z. Lederman ! READY REDUCED_TASK REPORT REDUCED_TASK WITH EXT CONT "V1" ON SRTTST.RPT SET LINES_PAGE = 55 SET COLUMNS_PAGE = 132 SET REPORT_NAME = "Sort Test Tasks" AT TOP OF NAME PRINT "Name", SPACE 1, NAME(" "), SPACE 1, "Priority", SPACE 1, PRI(" ") PRINT COL 36, ELAPSED_TIME, CPU_TIME, DIRECTIVES, QIOS, CNXT, CHECKPOINTS, OVERLAYS AT BOTTOM OF NAME PRINT SKIP, COL 1, NAME(" "), SPACE 1, "totals", COL 36, TOTAL(ELAPSED_TIME) USING ZZZ,ZZ9, TOTAL(CPU_TIME) USING ZZZ,ZZ9, TOTAL(DIRECTIVES) USING ZZZ,ZZ9, TOTAL(QIOS) USING ZZZ,ZZ9, TOTAL(CNXT) USING ZZZ,ZZ9, TOTAL(CHECKPOINTS) USING ZZZ,ZZ9, TOTAL(OVERLAYS) USING ZZZ,ZZ9, SKIP, COL 1, COUNT USING ZZ,ZZ9, SPACE 5, "run avg/sec", COL 36, AVERAGE(ELAPSED_TIME) USING ZZZ,ZZ9.9, SPACE 8, (AVERAGE(CPU_TIME) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 6, (AVERAGE(DIRECTIVES) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(QIOS) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(CNXT) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(CHECKPOINTS) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(OVERLAYS) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SKIP 2 AT BOTTOM OF REPORT PRINT SKIP 2, "Grand totals", COL 36, TOTAL(ELAPSED_TIME) USING ZZZ,ZZ9, TOTAL(CPU_TIME) USING ZZZ,ZZ9, TOTAL(DIRECTIVES) USING ZZZ,ZZ9, TOTAL(QIOS) USING ZZZ,ZZ9, TOTAL(CNXT) USING ZZZ,ZZ9, TOTAL(CHECKPOINTS) USING ZZZ,ZZ9, TOTAL(OVERLAYS) USING ZZZ,ZZ9, SKIP, COL 1, COUNT USING ZZ,ZZ9, SPACE 5, "run avg/sec", COL 36, AVERAGE(ELAPSED_TIME) USING ZZZ,ZZ9.9, SPACE 8, (AVERAGE(CPU_TIME) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 6, (AVERAGE(DIRECTIVES) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(QIOS) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(CNXT) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(CHECKPOINTS) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(OVERLAYS) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SKIP 2 END_REPORT FINISH END-PROCEDURE DELETE REDUCED_TASK_CREATE; DEFINE PROCEDURE REDUCED_TASK_CREATE ! ! This looks like a report: what I'm really doing is using the ! report writer as an easy way to summarize data and later use ! this output of the report writer as the input to another ! procedure. ! ! B. Z. Lederman ! READY REDUCED_TASK REPORT REDUCED_TASK WITH TASK IN TASK_TAB ON TSKSUM.SEQ SET COLUMNS_PAGE = 132 SET LINES_PAGE = 255 AT TOP OF PAGE PRINT " " AT BOTTOM OF TASK PRINT COL 1, TASK(" "), SPACE 1, BEGIN_DATE, COL 23, COUNT USING 9(4), SPACE 1, PRI USING 999, SPACE 1, TOTAL(ELAPSED_TIME) USING 9(9), SPACE 1, TOTAL(CPU_TIME) USING 9(9), SPACE 1, TOTAL(DIRECTIVES) USING 9(9), SPACE 1, TOTAL(QIOS) USING 9(9), SPACE 1, TOTAL(CNXT) USING 9(9), SPACE 1, TOTAL(CHECKPOINTS) USING 9(9), SPACE 1, TOTAL(OVERLAYS) USING 9(9) END_REPORT FINISH END-PROCEDURE DELETE RESET_REPORT; DEFINE PROCEDURE RESET_REPORT READY BASE_RESET REPORT BASE_RESET WITH CODE=22 ON RESET.RPT SET COLUMNS_PAGE = 132 SET REPORT_NAME = "Accounting Reset" PRINT OLD_FILE, OLD_SEQ, OLD_DEV, NEW_FILE, NEW_SEQ, NEW_DEV, OLD_SCAN, NEW_SCAN, OLD_STAT, NEW_STAT, OLD_EXT, NEW_EXT END_REPORT FINISH END-PROCEDURE ! DELETE STARTUP_REPORT; DEFINE PROCEDURE STARTUP_REPORT READY BASE_START REPORT BASE_START WITH CODE=09 SORTED BY DATE ON STARTUP.RPT SET COLUMNS_PAGE = 80 SET REPORT_NAME = "System Startup" PRINT DATE, TIME END_REPORT FINISH END-PROCEDURE ! DELETE TASK_S_REPORT; DEFINE PROCEDURE TASK_S_REPORT READY REDUCED_TASK REPORT REDUCED_TASK WITH TASK IN TASK_TAB ON TASKS.RPT SET LINES_PAGE = 55 SET COLUMNS_PAGE = 132 SET REPORT_NAME = "Selected Task Accounting" AT TOP OF TASK PRINT "Task", SPACE 1, TASK(" "), SPACE 1, "Priority", SPACE 1, PRI(" ") PRINT COL 36, ELAPSED_TIME, CPU_TIME, DIRECTIVES, QIOS, CNXT, CHECKPOINTS, OVERLAYS AT BOTTOM OF TASK PRINT SKIP, COL 1, TASK(" "), SPACE 1, "totals", COL 36, TOTAL(ELAPSED_TIME) USING ZZZ,ZZ9, TOTAL(CPU_TIME) USING ZZZ,ZZ9, TOTAL(DIRECTIVES) USING ZZZ,ZZ9, TOTAL(QIOS) USING ZZZ,ZZ9, TOTAL(CNXT) USING ZZZ,ZZ9, TOTAL(CHECKPOINTS) USING ZZZ,ZZ9, TOTAL(OVERLAYS) USING ZZZ,ZZ9, SKIP, COL 1, COUNT USING ZZ,ZZ9, SPACE 5, "run avg/sec", COL 36, AVERAGE(ELAPSED_TIME) USING ZZZ,ZZ9.9, SPACE 8, (AVERAGE(CPU_TIME) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 6, (AVERAGE(DIRECTIVES) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(QIOS) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(CNXT) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(CHECKPOINTS) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SPACE 5, (AVERAGE(OVERLAYS) / AVERAGE(ELAPSED_TIME) ) USING ZZZ,ZZ9.9, SKIP 2 END_REPORT FINISH END-PROCEDURE ! DELETE TASK_S_SUMMARY; DEFINE PROCEDURE TASK_S_SUMMARY READY REDUCED_TASK REPORT REDUCED_TASK WITH TASK IN TASK_TAB SORTED BY DESC PRI, ASC TASK ON TASKSUMS.RPT SET LINES_PAGE = 55 SET COLUMNS_PAGE = 80 SET REPORT_NAME = "Selected Task Accounting"/"Summary" AT BOTTOM OF TASK PRINT COL 1, TASK(" "), SKIP, COL 7, "totals", COL 17, PRI, COL 22, TOTAL(ELAPSED_TIME) USING ZZZ,ZZ9, SPACE 2, TOTAL(CPU_TIME) USING ZZZ,ZZ9, SPACE 1, TOTAL(DIRECTIVES) USING ZZZ,ZZ9, SPACE 1, TOTAL(QIOS) USING ZZZ,ZZ9, SPACE 2, TOTAL(CNXT) USING ZZZ,ZZ9, SPACE 2, SKIP, COL 1, COUNT USING ZZ9, COL 7, "run avg/sec", COL 22, AVERAGE(ELAPSED_TIME) USING ZZZ,ZZ9.9, SPACE 2, (AVERAGE(CPU_TIME) / AVERAGE(ELAPSED_TIME) ) USING Z,ZZ9.9, SPACE 2, (AVERAGE(DIRECTIVES) / AVERAGE(ELAPSED_TIME) ) USING Z,ZZ9.9, SPACE 3, (AVERAGE(QIOS) / AVERAGE(ELAPSED_TIME) ) USING Z,ZZ9.9, SPACE 2, (AVERAGE(CNXT) / AVERAGE(ELAPSED_TIME) ) USING Z,ZZ9.9, SPACE 2, SKIP 2 END_REPORT FINISH END-PROCEDURE ! DELETE BASE_AM_REC; DEFINE RECORD BASE_AM_REC USING ALLOCATION IS LEFT_RIGHT 01 BASE_AM_REC. 10 CODE PIC 99 USAGE COMP. 10 DEPT PIC XXX. 10 NBR PIC X(7). 10 TERMINAL PIC X(6). 10 ACNT PIC 9(4) USAGE COMP. 10 DATE USAGE DATE EDIT_STRING IS DD-MMM-YY. 10 TIM. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 10 TIMR REDEFINES TIM. 20 AH PIC 99 USAGE COMP. 20 AM PIC 99 USAGE COMP. 20 AS PIC 99 USAGE COMP. 10 TIME PIC 9(6) COMPUTED BY (AH * 10000) + (AM * 100) + AS EDIT_STRING 99,99,99. 10 DEVICE PIC X(6). 10 LABEL PIC X(12). 10 FILLER PIC X(68). ; DELETE BASE_CRASH_REC; DEFINE RECORD BASE_CRASH_REC USING ALLOCATION IS LEFT_RIGHT 01 BASE_CRASH_REC. 10 CODE PIC 99 USAGE COMP. 10 LAST_DATE USAGE DATE EDIT_STRING DD-MMM-YY. 10 LTIM. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 10 LTIMR REDEFINES LTIM. 20 LSH PIC 99 USAGE COMP. 20 LSM PIC 99 USAGE COMP. 20 LSS PIC 99 USAGE COMP. 10 LAST_TIME PIC 9(6) COMPUTED BY (LSH * 10000) + (LSM * 100) + LSS EDIT_STRING 99,99,99. 10 SCAN_RATE PIC 9(4) USAGE COMP EDIT_STRING Z,ZZ9. 10 RESTART_DATE USAGE DATE EDIT_STRING DD-MMM-YY. 10 RTIM. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 10 RTIMR REDEFINES RTIM. 20 TRH PIC 99 USAGE COMP. 20 TRM PIC 99 USAGE COMP. 20 TRS PIC 99 USAGE COMP. 10 RESTART_TIME PIC 9(6) COMPUTED BY (TRH * 10000) + (TRM * 100) + TRS EDIT_STRING 99,99,99. 10 REASON PIC X(60). 10 FILLER PIC X(28). ; DELETE BASE_RESET_REC; DEFINE RECORD BASE_RESET_REC USING ALLOCATION IS LEFT_RIGHT 01 BASE_RESET_REC. 10 CODE PIC 99 USAGE COMP. 10 OLD_FILE PIC 9(4) USAGE COMP. 10 OLD_SEQ PIC 9(4) USAGE COMP. 10 OLD_DEV PIC X(6). 10 NEW_FILE PIC 9(4) USAGE COMP. 10 NEW_SEQ PIC 9(4) USAGE COMP. 10 NEW_DEV PIC X(6). 10 OLD_SCAN PIC 9(4) USAGE COMP EDIT_STRING Z,ZZ9. 10 NEW_SCAN PIC 9(4) USAGE COMP EDIT_STRING Z,ZZ9. 10 OLD_STAT PIC 9(4) USAGE COMP EDIT_STRING Z,ZZ9. 10 NEW_STAT PIC 9(4) USAGE COMP EDIT_STRING Z,ZZ9. 10 OLD_EXT PIC 9(4) USAGE COMP EDIT_STRING Z,ZZ9. 10 NEW_EXT PIC 9(4) USAGE COMP EDIT_STRING Z,ZZ9. 10 FILLER PIC X(86). ; DELETE BASE_START_REC; DEFINE RECORD BASE_START_REC USING ALLOCATION IS LEFT_RIGHT 01 BASE_START_REC. 10 CODE PIC 99 USAGE COMP. 10 DATE USAGE DATE EDIT_STRING DD-MMM-YY. 10 TIM. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 10 TIMR REDEFINES TIM. 20 SH PIC 99 USAGE COMP. 20 SM PIC 99 USAGE COMP. 20 SS PIC 99 USAGE COMP. 10 TIME PIC 9(6) COMPUTED BY (SH * 10000) + (SM * 100) + SS EDIT_STRING 99,99,99. 10 FILLER PIC X(104). ; DELETE CODES_REC; DEFINE RECORD CODES_REC USING ALLOCATION IS LEFT_RIGHT 01 CODES_REC. 03 KEY PIC 99 USAGE COMP. 03 TYPE PIC X(16). ; DELETE DEMO_TASK_REC; DEFINE RECORD DEMO_TASK_REC USING ALLOCATION IS LEFT_RIGHT 01 BASE_TASK_REC. 10 TASK PIC X(10). 10 NAMES REDEFINES TASK. 20 NAME PIC XXX. 20 EXT PIC X(7). 10 BEGIN_DATE USAGE DATE EDIT_STRING DD-MMM-YY. 10 BTIM. 20 FILLER PIC X(6). 10 BTIMR REDEFINES BTIM. 20 BH PIC 99 USAGE COMP. 20 BM PIC 99 USAGE COMP. 20 BS PIC 99 USAGE COMP. 10 BEGIN_TIME PIC 9(6) COMPUTED BY (BH * 10000) + (BM * 100) + BS EDIT_STRING 99,99,99. 10 BT PIC 9(6) USAGE COMP COMPUTED BY (BH * 3600) + (BM * 60) + BS. 10 END_DATE USAGE DATE EDIT_STRING DD-MMM-YY. 10 ETIM. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 10 ETIMR REDEFINES ETIM. 20 EH PIC 99 USAGE COMP. 20 EM PIC 99 USAGE COMP. 20 ES PIC 99 USAGE COMP. 10 END_TIME PIC 9(6) COMPUTED BY (EH * 10000) + (EM * 100) * ES EDIT_STRING 99,99,99. 10 ET PIC 9(6) USAGE COMP COMPUTED BY (EH * 3600) + (EM * 60) + ES. 10 ELAPSED_TIME PIC 9(7) EDIT_STRING Z,ZZZ,ZZ9 COMPUTED BY (ET - BT). 10 CPU_TIME PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. 10 DIRECTIVES PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. 10 QIOS PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. 10 PRI PIC 999 USAGE COMP EDIT_STRING ZZ9. 10 CNXT PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. 10 CHECKPOINTS PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. 10 OVERLAYS PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. ; DELETE DEVICE_SUM_REC; DEFINE RECORD DEVICE_SUM_REC USING ALLOCATION IS LEFT_RIGHT 01 DEVICE_SUM_REC. 10 DATE PIC X(9). 10 TIME PIC 9(6) EDIT_STRING 99,99,99. 10 DEVICE PIC X(6). 10 IO_SUM PIC 9(9) EDIT_STRING ZZZ,ZZZ,ZZ9 QUERY_HEADER "I/O COUNT". 10 WORD_SUM PIC 9(9) EDIT_STRING ZZZ,ZZZ,ZZ9 QUERY_HEADER "WORD COUNT". 10 CYL_SUM PIC 9(9) EDIT_STRING ZZZ,ZZZ,ZZ9 QUERY_HEADER "CYLINDERS"/"CROSSED". ; DELETE REDUCED_DEVICE_REC; DEFINE RECORD REDUCED_DEVICE_REC USING ALLOCATION IS LEFT_RIGHT 01 REDUCED_DEVICE_REC. 10 CODE PIC 99 USAGE COMP. 10 DATE USAGE DATE EDIT_STRING IS DD-MMM-YY. 10 TIM. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 10 TIMR REDEFINES TIM. 20 DSTHUR PIC 99 USAGE COMP. 20 DSTMIN PIC 99 USAGE COMP. 20 DSTSEC PIC 99 USAGE COMP. 10 TIME PIC 999999 COMPUTED BY (DSTHUR * 10000) + (DSTMIN * 100) + DSTSEC EDIT_STRING 99,99,99. 10 DEVICE PIC X(6). 10 IO_COUNT PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. 10 WORD_COUNT PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. 10 SOFT_LIMIT PIC 999 USAGE COMP EDIT_STRING ZZ9. 10 SOFT_COUNT PIC 99 USAGE COMP EDIT_STRING ZZ9. 10 HARD_LIMIT PIC 999 USAGE COMP EDIT_STRING ZZ9. 10 HARD_COUNT PIC 999 USAGE COMP EDIT_STRING ZZ9. 10 CYL_CROSSED PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. 10 FAIR_COUNT PIC 999 USAGE COMP EDIT_STRING ZZ9. 10 FAIR_LIMIT PIC 999 USAGE COMP EDIT_STRING ZZ9. ; DELETE REDUCED_TASK_REC; DEFINE RECORD REDUCED_TASK_REC USING ALLOCATION IS LEFT_RIGHT 01 BASE_TASK_REC. 10 TASK PIC X(10). 10 NAMES REDEFINES TASK. 20 NAME PIC XXX. 20 EXT PIC X(7). 10 NX REDEFINES TASK. 20 N1 PIC X. 10 BEGIN_DATE USAGE DATE EDIT_STRING DD-MMM-YY. 10 BTIM. 20 FILLER PIC X(6). 10 BTIMR REDEFINES BTIM. 20 BH PIC 99 USAGE COMP. 20 BM PIC 99 USAGE COMP. 20 BS PIC 99 USAGE COMP. 10 BEGIN_TIME PIC 9(6) COMPUTED BY (BH * 10000) + (BM * 100) + BS EDIT_STRING 99,99,99. 10 BT PIC 9(6) USAGE COMP COMPUTED BY (BH * 3600) + (BM * 60) + BS. 10 END_DATE USAGE DATE EDIT_STRING DD-MMM-YY. 10 ETIM. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 20 FILLER PIC 99 USAGE COMP. 10 ETIMR REDEFINES ETIM. 20 EH PIC 99 USAGE COMP. 20 EM PIC 99 USAGE COMP. 20 ES PIC 99 USAGE COMP. 10 END_TIME PIC 9(6) COMPUTED BY (EH * 10000) + (EM * 100) * ES EDIT_STRING 99,99,99. 10 ET PIC 9(6) USAGE COMP COMPUTED BY (EH * 3600) + (EM * 60) + ES. 10 ELAPSED_TIME PIC 9(7) EDIT_STRING Z,ZZZ,ZZ9 COMPUTED BY (ET - BT). 10 CPU_TIME PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. 10 DIRECTIVES PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. 10 QIOS PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. 10 PRI PIC 999 USAGE COMP EDIT_STRING ZZ9. 10 CNXT PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. 10 CHECKPOINTS PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. 10 OVERLAYS PIC 9(9) USAGE COMP EDIT_STRING ZZZ,ZZZ,ZZ9. ; DELETE NAME_TAB; DEFINE TABLE NAME_TAB ! ! This table was used during the SORT tests to pick out only ! those tasks I was interested in. ! "AT." : 1, "RMD" : 1, "SRT" : 1, "SRR" : 1, "SRS" : 1, "SR3" : 1, "SR4" : 1, "SRI" : 1, "SRJ" : 1, "SHO" : 1, "PIP" : 1 END_TABLE DELETE NOCHANGE_TAB; DEFINE TABLE NOCHANGE_TAB ! ! This table is used with the procedure that changes task names ! like PIPT1, PIPT2, etc., into ...PIP: tasks in this table ! are NOT changed. It contains mostly RSX and DECnet tasks, ! and you may wish to edit it to suit your own environment. ! "...LDR" : 1, "BAP0 " : 1, "COT..." : 1, "CRF..." : 1, "DB00F1" : 1, "DB01F1" : 1, "DB02F1" : 1, "DB03F1" : 1, "DB04F1" : 1, "DB05F1" : 1, "DB06F1" : 1, "DB07F1" : 1, "DB10F1" : 1, "DB11F1" : 1, "DB12F1" : 1, "DB13F1" : 1, "DB14F1" : 1, "DB15F1" : 1, "DB16F1" : 1, "DB17F1" : 1, "ERRLOG" : 1, "EVC..." : 1, "F11ACP" : 1, "F11MSG" : 1, "FALLOG" : 1, "FXR..." : 1, "HRC..." : 1, "MCR..." : 1, "MTAACP" : 1, "NETACP" : 1, "NMVACP" : 1, "NTD..." : 1, "NTINIT" : 1, "NTL..." : 1, "NVP..." : 1, "PMD..." : 1, "PMT..." : 1, "PRT..." : 1, "QMG..." : 1, "RCP1.." : 1, "RMHACP" : 1, "RMTACP" : 1, "SHE..." : 1, "TCL..." : 1, "TKTN " : 1, "TT10 " : 1 END_TABLE DELETE TASK_TAB; DEFINE TABLE TASK_TAB ! ! This table contains a list of the tasks particularly wanted in ! certain reports. You may have to edit it to contain the tasks ! you want. ! "...LDR" : 1, "BAP0 " : 1, "COT..." : 1, "CRF..." : 1, "F11ACP" : 1, "MCR..." : 1, "...MCR" : 1, "PRT..." : 1, "QMG..." : 1, "RMHACP" : 1, "...PIP" : 1, "...EDT" : 1 END_TABLE