*%; /* 00050002 MACRO 00100002 IRAWAMT &DSECT=YES 00150002 AGO .WAMTAL0 */ 00200002 *@ LIST PUSH; /* SAVE LISTING STATUS FOR WAMT */ 00250002 * %IF WAMTSFX = '' /* IS NAMING CHARACTER OMITTED */ 00300002 * %THEN %WAMTSFX = ' '; /* YES, INSERT PLACEHOLDER BLANK */ 00350002 * %IF WAMTSFX ^= ' ' /* IS THIS THE DUPLICATE INCLUDE */ 00400002 * %THEN %WAMTDUM = '@ LIST OFF '; /* BYP INTRO CMT */ 00450002 * %ELSE %WAMTDUM = '@ LIST PUSH'; /* DMY CNTRL CMT */ 00500002 *WAMTDUM; 00550002 * %IF WAMTSFX = ' ' /* IS THIS THE FIRST INCLUDE */ 00600002 * %THEN %WAMTDUM = '@ LIST POP '; /* PRT INTRO CMT */ 00650002 *WAMTDUM; 00700002 *%; /* 00750002 .WAMTAL0 ANOP */ 00800002 * /* MACCOMP Z-4 SC1CX/PKD16 */ 00850040 * /* MACSTAT Z-4 75007/Z40BPSS */ 00880040 * /* *************************************************************** */ 00950002 * /* */ 01000002 * /* MACRO NAME - IRAWAMT */ 01050002 * /* */ 01100002 * /* DESCRIPTIVE NAME - WORKLOAD ACTIVITY MEASUREMENTS TABLE */ 01150002 * /* */ 01200002 * /* COPYRIGHT - NONE */ 01250002 * /* */ 01300002 * /* STATUS - OS/VS2 RELEASE 4, 09/23/75, LEVEL=1 */ 01350040 * /* */ 01400002 * /* FUNCTION - THE WAMT PROVIDES THE STORAGE AREA IN WHICH */ 01450002 * /* INFORMATION IS COLLECTED BY THE SYSTEM RESOURCES */ 01500002 * /* MANAGER FOR USE BY THE SYSTEM ACTIVITY MEASUREMENT */ 01550002 * /* FACILITY. THE WAMT, AND THE MODULE WHICH UPDATES */ 01600002 * /* IT, ARE SUPPLIED BY THE SYSTEM ACTIVITY MEASURMENT */ 01650002 * /* FACILITY FOR THE DURATION OF THE WORKLOAD ACTIVITY */ 01700002 * /* DATA GATHERING OPERATION. */ 01750002 * /* */ 01800002 * /* METHOD OF ACCESS - THE ADDRESS OF THE WAMT IS CONTAINED IN */ 01850002 * /* THE -RMCTWAMT- FIELD OF THE SYSTEM RESOURCES MANAGER */ 01900002 * /* CONTROL TABLE. THE OFFSET OF THE FIRST WAMPPGP FOR */ 01950002 * /* A PERFORMANCE GROUP IS CONTAINED IN THE WAMTNDX ENTRY */ 02000002 * /* CORRESPONDING TO THE PERFORMANCE GROUP NUMBER. */ 02050002 * /* */ 02100002 * /* *************************************************************** */ 02150002 *%; /* 02200002 AGO .WAMTAL1 */ 02250002 *@ LIST OFF; /* BYPASS EXPLANATORY COMMENTS */ 02300002 * /* *************************************************************** */ 02350002 * /* */ 02400002 * /* CONSTRUCTION METHOD - THE WAMPPGP'S ARE ASSIGNED CONTIGUOUS */ 02450002 * /* STORAGE, WITH THE WAMPPGP FOR THE 2ND PERIOD IN A */ 02500002 * /* PERFORMANCE GROUP FOLLOWING THE WAMPPGP FOR THE 1ST */ 02550002 * /* PERIOD, ETC., AND WITH THE 1ST WAMPPGP OF THE NEXT */ 02600002 * /* PERFORMANCE GROUP FOLLOWING THE LAST WAMPPGP OF THE */ 02650002 * /* PREVIOUS PERFORMANCE GROUP. THE NUMBER OF ENTRIES */ 02700002 * /* IN THE WAMTNDX ARRAY IS 2 MORE THAN THE HIGHEST PER- */ 02750002 * /* FORMANCE GROUP NUMBER. WAMTNX0 HOLDS THE OFFSET OF */ 02800002 * /* A WAMPPGP RESERVED FOR PERFORMANCE GROUP ZERO. THE */ 02820002 * /* FIRST POSITION IN THE WAMTNDX ARRAY IS DECLARED AS */ 02840002 * /* COINCIDING WITH THE WAMTNX1 FIELD. THEREAFTER, EACH */ 02860002 * /* SUCCESSIVE WAMTNDX ARRAY ENTRY CONTAINS THE OFFSET */ 02880002 * /* OF THE POSITION FOLLOWING THE LAST WAMPPGP ASSIGNED */ 02920002 * /* TO LOWER-NUMBERED PERFORMANCE GROUPS. */ 02960002 * /* */ 03000002 * /* THE NUMBER OF PERIODS IN A PERFORMANCE GROUP CAN BE */ 03050002 * /* OBTAINED BY SUBTRACTING ITS WAMTNDX FIELD FROM THE */ 03100002 * /* NEXT ADJACENT WAMTNDX FIELD, AND DIVIDING BY THE */ 03150002 * /* WAMPPGP SIZE. */ 03200002 * /* */ 03250002 * /* INVOCATION PARAMETERS AND/OR KEYWORDS = */ 03300002 * /* */ 03350002 * /* BAL - DSECT=NO IF DSECT IS NOT TO BE PRODUCED. */ 03400002 * /* */ 03450002 * /* USING ON WAMT GIVES ADDRESSABILITY TO WAMT SYMBOLS. */ 03500002 * /* USING ON WAMP GIVES ADDRESSABILITY TO WAMP SYMBOLS. */ 03550002 * /* */ 03600002 * /* PLS - %WAMTSFX='USERCHAR' IF THE INDICATED CHARACTER IS */ 03650002 * /* TO BE APPENDED TO ALL NAMES IN THE MAPPING, THEREBY */ 03700002 * /* CREATING DUPLICATE DEFINITIONS BASED ON DIFFERENT */ 03750002 * /* POINTERS. */ 03800002 * /* - %WAMT9999=',' IF THE STRUCTURE SHOULD NOT BE CLOSED. */ 03850002 * /* */ 03900002 * /* NOTE - DUE TO THE FACILITY WHICH PERMITS MULTIPLE */ 03950002 * /* INCLUDES OF THE IRAWAMT MAPPING MACRO, IT IS NOT */ 04000002 * /* POSSIBLE TO CONCATENATE THE IRAWAMT DECLARATION */ 04050002 * /* WITH ANOTHER DECLARATION IN SUCH A FASHION THAT */ 04100002 * /* BOTH DECLARATIONS ARE BASED ON THE SAME POINTER. */ 04150002 * /* */ 04200002 * /* TO ACCESS AS A STANDALONE STRUCTURE DCL WAMTPTR PTR. */ 04250002 * /* DCL WAMPPTR PTR. */ 04300002 * /* */ 04350002 * /* CHANGE ACTIVITY = */ 04400002 * /* */ 04450002 * /* A000000-999999 Y02133*/ 04500002 * /* */ 04550002 * /* *************************************************************** */ 04600002 *%; /* 04650002 .WAMTAL1 ANOP 04700002 SPACE 1 04750002 AIF ('&DSECT' EQ 'NO').WAMTAL2 04800002 WAMT DSECT 04850002 AGO .WAMTAL3 04900002 .WAMTAL2 ANOP 04950002 DS 0D 05000002 WAMT EQU * 05050002 .WAMTAL3 ANOP 05100002 SPACE 1 05150002 WAMTWAR DS A - ADDRESS OF LOADED IRARMWAR MODULE 05200002 WAMTSIZ DS F - TOTAL WAMT LNG (INCLUDING WAMP'S) 05250002 WAMTTMA DS D - MEASR ACTVT TIME - 64BIT BINARY NMB 05270002 WAMTTOC DS D - LAST UPDATE TIME - 64BIT BINARY NMB 05300002 WAMTASD DS CL4 - MEASUREMENT FACILITY ADDR SPACE ID 05350002 WAMTTCB DS A - MEASUREMENT FACILITY TASK ADDRESS 05370002 WAMTIPS DS CL2 - PERFORMANCE SPECIFICATION IDENT 05390002 WAMTCPD DS H - TOTAL COUNT OF PGP'S WITHIN WAMT 05410002 WAMTSPD DS H - LENGTH OF DATA WITHIN ONE WAMPPGP 05450002 WAMTHPG DS H - HIGHEST PERFORMANCE GROUP NUMBER 05500002 WAMTIPC DS CL4 - CPU SERVICE COEFICIENT @Z40BPCH 05510040 WAMTIPI DS CL4 - I/O SERVICE COEFFICIENT @Z40BPCH 05520040 WAMTIPM DS CL4 - MSO SERVICE COEFFICIENT @Z40BPCH 05530040 WAMTNX0 DS A - OFFST OF 1ST WAMPPGP FOR PG# 0 05550002 WAMTNDX DS 0A - ARRAY OF OFFST OF 1ST PGP FOR GROUP 05600002 WAMTNX1 DS A - OFFST OF 1ST WAMPPGP FOR PG# 1 05650002 WAMTR90 DS F - RESERVED @Z40BPCH 05655040 WAMTEND DS 0D - END OF WAMT 05700002 WAMTLEN EQU WAMTEND-WAMT - LENGTH OF WAMT 05750002 SPACE 1 05800002 AIF ('&DSECT' EQ 'NO').WAMTAL4 05850002 WAMP DSECT 05900002 AGO .WAMTAL5 05950002 .WAMTAL4 ANOP 06000002 DS 0F 06050002 WAMP EQU * 06100002 .WAMTAL5 ANOP 06150002 SPACE 1 06200002 WAMPPGP DS 0CL38 - PERFORMANCE GROUP PERIOD DATA 06250040 * @Z40BPCH 06260040 WAMPTRN DS F - COUNT OF TRANSACTIONS ENDED 06300002 WAMPTAT DS F - TOTAL ACTIVE TIME FOR PERIOD 06350002 WAMPSRV DS F - TOTAL SERVICE UNITS FOR PERIOD 06400002 WAMPTET DS F - TOT ELAPSED TIME OF XACTNS ENDED 06450002 WAMPNWL DS F - NORMALIZED WORKLOAD LEVEL 06500002 WAMPCPU DS F - TOTAL CPU SERVICE UNITS FOR PERIOD 06505040 * @Z40BPCH 06510040 WAMPIOC DS F - TOTAL I/O SERVICE UNITS FOR PERIOD 06515040 * @Z40BPCH 06520040 WAMPMSO DS F - TOTAL MSO SERVICE UNITS FOR PERIOD 06525040 * @Z40BPCH 06530040 WAMPTRR DS F - TOTAL RESIDENT TIME FOR PER.@Z40BPCH 06535040 WAMPSWC DS F - TOTAL SWAP COUNT FOR PERIOD @Z40BPCH 06535540 WAMPOBJN DS HL1 - PERF. OBJ NO. FOR PERIOD @Z40BPCH 06540040 WAMPDMN DS HL1 - DOMAIN NO. FOR PERIOD @Z40BPCH 06545040 WAMPRSV DS H - RESERVED @Z40BPCH 06547040 WAMPEND DS 0F - END OF WAMP 06550002 WAMPLEN EQU WAMPEND-WAMP - LENGTH OF WAMP 06600002 MEND 06650002 * */ 06700002 *@ LIST POP; /* RESUME MACRO OUTPUT LISTING */ 06750002 * %IF WAMT9999 ^= ',' /* DOES STRUCTURE CONTINUE */ 06800002 * %THEN %WAMT9999 = ';'; /* NO, END DECLARE STATEMENT */ 06850002 * %WAMTLABL = 'WAMT' ; /* INITIALIZE THE LABEL VARIABLE */ 06900002 * %IF WAMTSFX ^= ' ' /* IS THIS THE DUPLICATE INCLUDE */ 06950002 * %THEN %WAMTLABL = 'WAMT'||WAMTSFX ; /* RENAME STRUCTURE */ 07000002 * %WAMTDUM = WAMTLABL||'PTR' ; /* QUALIFY BASED POINTER NAME */ 07050002 * DCL 07100002 * 1 WAMTLABL BASED(WAMTDUM) BDY(DWORD), 07150002 * %WAMTLABL = 'WAMTWAR'||WAMTSFX; 07200002 * 10 WAMTLABL PTR(31), /* ADDR OF IRARMWAR MODULE */ 07250002 * %WAMTLABL = 'WAMTSIZ'||WAMTSFX; 07300002 * 10 WAMTLABL FIXED, /* TOTL LNG OF WAMT INCL. WAMP'S */ 07350002 * %WAMTLABL = 'WAMTTMA'||WAMTSFX; 07360002 * 10 WAMTLABL BIT(64) BDY(DWORD), /* MEASUREMENT ACTIVATE TIME */ 07370002 * %WAMTLABL = 'WAMTTOC'||WAMTSFX; 07400002 * 10 WAMTLABL BIT(64) BDY(DWORD), /* WAMT UPDT TIME OF CENTURY */ 07450002 * %WAMTLABL = 'WAMTASD'||WAMTSFX; 07500002 * 10 WAMTLABL BIT(32) BDY(WORD), /* MEASUREMENT ADDR SPACE ID */ 07520002 * %WAMTLABL = 'WAMTTCB'||WAMTSFX; 07540002 * 10 WAMTLABL PTR(31), /* MEASUREMENT TASK ADDRESS */ 07560002 * %WAMTLABL = 'WAMTIPS'||WAMTSFX; 07580002 * 10 WAMTLABL CHAR(2) BDY(HWORD), /* PERFORMANC SPECIFICATN ID */ 07600002 * %WAMTLABL = 'WAMTCPD'||WAMTSFX; 07620002 * 10 WAMTLABL FIXED(15), /* COUNT OF PGP'S WITHIN WAMT */ 07660002 * %WAMTLABL = 'WAMTSPD'||WAMTSFX; 07700002 * 10 WAMTLABL FIXED(15), /* LENGTH OF DATA FOR ONE PGP */ 07750002 * %WAMTLABL = 'WAMTHPG'||WAMTSFX; 07800002 * 10 WAMTLABL FIXED(15), /* HIGH PERF. GROUP NUMBER */ 07850002 * %WAMTLABL = 'WAMTIPC'||WAMTSFX; /* @Z40BPCH*/ 07857040 * 10 WAMTLABL CHAR(4) BDY(WORD), /* CPU SERVICE COEF. @Z40BPCH*/ 07864040 * %WAMTLABL = 'WAMTIPI'||WAMTSFX; /* @Z40BPCH*/ 07871040 * 10 WAMTLABL CHAR(4) BDY(WORD), /* I/O SERVICE COEF. @Z40BPCH*/ 07878040 * %WAMTLABL = 'WAMTIPM'||WAMTSFX; /* @Z40BPCH*/ 07885040 * 10 WAMTLABL CHAR(4) BDY(WORD), /* MSO SERVICE COEF. @Z40BPCH*/ 07892040 * %WAMTLABL = 'WAMTNX0'||WAMTSFX; 07900002 * 10 WAMTLABL PTR(31), /* OFFST TO WAMPPGP OF PRF GRP 0 */ 07950002 * %WAMTLABL = 'WAMTNX1'||WAMTSFX; 08000002 * 10 WAMTLABL PTR(31), /* OFFST TO WAMPPGP OF PRF GRP 1 */ 08050002 * %WAMTLABL = 'WAMTR90'||WAMTSFX; /* @Z40BPCH*/ 08051040 * 10 WAMTLABL FIXED, /* RESERVED @Z40BPCH*/ 08052040 * %WAMTLABL = 'WAMTEND'||WAMTSFX; 08100002 * 10 WAMTLABL CHAR(0) BDY(DWORD), /* END OF WAMT */ 08150002 * /* THE I'TH POSITION OF THE FOLLOWING ARRAY CONTAINS THE OFFSET */ 08200002 * /* FROM THE BEGINNING OF THE WAMT TO THE STARTING POSITION OF */ 08230002 * /* THE WAMPPGP'S FOR THE I'TH PERFORMANCE GROUP. */ 08260002 * %WAMTDUM = 'WAMTNX1'||WAMTSFX; 08300002 * %WAMTLABL = 'WAMTNDX'||WAMTSFX; 08350002 * WAMTLABL (*) DEFINED(WAMTDUM) PTR(31), 08400002 * /* THE WAMP ACCUMULATES WORKLOAD INFORMATION FOR ONE PERFORMANCE */ 08450002 * /* GROUP PERIOD. THERE MAY BE 1 TO 8 PERIODS FOR ONE GROUP. */ 08500002 * %WAMTLABL = 'WAMP' ; /* INITIALIZE THE LABEL VARIABLE */ 08550002 * %IF WAMTSFX ^= ' ' /* IS THIS THE DUPLICATE INCLUDE */ 08600002 * %THEN %WAMTLABL = 'WAMP'||WAMTSFX ; /* RENAME STRUCTURE */ 08650002 * %WAMTDUM = WAMTLABL||'PTR' ; /* QUALIFY BASED POINTER NAME */ 08700002 * 1 WAMTLABL BASED(WAMTDUM) BDY(WORD), 08800002 * %WAMTLABL = 'WAMPPGP'||WAMTSFX; 08850002 * 10 WAMTLABL, /* PERFORMANCE GROUP PERIOD DATA */ 08900002 * %WAMTLABL = 'WAMPTRN'||WAMTSFX; 08950002 * 12 WAMTLABL FIXED(32), /* COUNT OF TRANSACTIONS ENDED */ 09000002 * %WAMTLABL = 'WAMPTAT'||WAMTSFX; 09050002 * 12 WAMTLABL FIXED(32), /* TOTAL ACTIVE TIME FOR PERIOD 09100002 * 1024 MICROSEC = LOW BIT */ 09150002 * %WAMTLABL = 'WAMPSRV'||WAMTSFX; 09200002 * 12 WAMTLABL FIXED(32), /* TOT SERVICE UNITS FOR PERIOD */ 09250002 * %WAMTLABL = 'WAMPTET'||WAMTSFX; 09300002 * 12 WAMTLABL FIXED(32), /* TOT ELAPS TIM OF XACTNS ENDED 09350002 * 1024 MICROSEC = LOW BIT */ 09400002 * %WAMTLABL = 'WAMPNWL'||WAMTSFX; 09450002 * 12 WAMTLABL FIXED(31), /* NORMALIZED WORKLOAD LEVEL 09500002 * 1/256TH OF A LEVEL = LOW BIT */ 09550002 * %WAMTLABL = 'WAMPCPU'||WAMTSFX; /* @Z40BPCH*/ 09552040 * 12 WAMTLABL FIXED(32), /* TOTAL CPU SERVICE UNITS FOR 09554040 * PERIOD @Z40BPCH*/ 09556040 * %WAMTLABL = 'WAMPIOC'||WAMTSFX; /* @Z40BPCH*/ 09558040 * 12 WAMTLABL FIXED(32), /* TOTAL I/O SERVICE UNITS FOR 09560040 * PERIOD @Z40BPCH*/ 09562040 * %WAMTLABL = 'WAMPMSO'||WAMTSFX; /* @Z40BPCH*/ 09564040 * 12 WAMTLABL FIXED(32), /* TOTAL MSO SERVICE UNITS FOR 09566040 * PERIOD @Z40BPCH*/ 09568040 * %WAMTLABL = 'WAMPTRR'||WAMTSFX; /* @Z40BPCH*/ 09570040 * 12 WAMTLABL FIXED(32), /* TOTAL RESIDENT TIME FOR 09572040 * PERIOD @Z40BPCH*/ 09574040 * %WAMTLABL = 'WAMPSWC'||WAMTSFX; /* @Z40BPCH*/ 09574140 * 12 WAMTLABL FIXED, /* TOTAL SWAP COUNT FOR PERIOD 09574240 * @Z40BPCH*/ 09574340 * %WAMTLABL = 'WAMPOBJN'||WAMTSFX; /* @Z40BPCH*/ 09576040 * 12 WAMTLABL FIXED(8), /* PERF. OBJ. NO FOR PER @Z40BPCH*/ 09578040 * %WAMTLABL = 'WAMPDMN'||WAMTSFX; /* @Z40BPCH*/ 09580040 * 12 WAMTLABL FIXED(8), /* DOMAIN NO. FOR PERIOD @Z40BPCH*/ 09582040 * %WAMTLABL = 'WAMPRSV'||WAMTSFX ; /* @Z40BPCH*/ 09588040 * 12 WAMTLABL CHAR(2) BDY(HWORD), /* RESERVED @Z40BPCH*/ 09594040 * %WAMTLABL = 'WAMPEND'||WAMTSFX; 09600002 * 10 WAMTLABL CHAR(0) BDY(WORD) /* END OF WAMP */ 09650002 * WAMT9999 09700002 * %WAMTLEN = 'LENGTH(WAMT)'; /* SYMBOLIC FOR LENGTH OF WAMT */ 09750002