//jobname JOB (ACCT#),CLASS=x,MSGCLASS=x,NOTIFY=userid //* *************************************************************** //* SMF RECORD EDIT PROGRAM ! //* rec type record name dd name //* 99 : WLM Type1 Trace Table T991TRC //* WLM Type2 Service Class Period T992SCP //* WLM Type3 Delay Plot T993PLT //* //* *************************************************************** //JOBCAT DD DSN=TSOCAT,DISP=SHR //A EXEC PGM=IEV90,PARM=OBJECT,REGION=2000K //SYSIN DD * START PRINT NOGEN DC C'< WLM EDITER V1.0.0 _ KIMU _ &SYSDATE _ &SYSTIME >' SMF99E CSECT SAVE (14,12),T,* BALR R03,0 USING *,R03,R04,R05 BASE REG. R03 LA R04,2048(R03) LA R04,2048(R04) 2ND BASE REG. R04 LA R05,2048(R04) LA R05,2048(R05) 3RD BASE REG. R05 ST R13,SAVEAREA+4 SAVE A(OLD SAVEAREA) LR R12,R13 LA R13,SAVEAREA ST R13,8(R12) SAVE A(NEW SAVEAREA) * *--- FILE OPEN --- OPEN (INDCB,,T991TRC,(OUTPUT)) OPEN (T992SCP,(OUTPUT)) OPEN (T993PLT,(OUTPUT)) PUT T991TRC,#991TRCT PUT T992SCP,#992SCPT PUT T993PLT,#993PLTT *--- FILE READ --- LOOP01 EQU * GET INDCB,RECAREA CLI RECAREA+5,X'63' TYPE 99 ( WLM ) BE EDIT99 B LOOP01 *** RECORD TYPE 99 *********************************************** EDIT99 EQU * LA R12,RECAREA USING SMF_HDR_MAP,R12 * - Header Section --- * --- SMF Buffer Wrote Date --- UNPK UPK_AREA(8),SMF99DTE(4) OI UPK_AREA+7,X'F0' MVC #00DTEYY(2),UPK_AREA+3 MVI #00DTEP,C'/' MVC #00DTEDD(3),UPK_AREA+5 * --- SMF Buffer Wrote Time --- L R06,SMF99TME SRDA R06,32 D R06,=F'100' 1sec = 1ms * 100 LR R06,R07 SRDA R06,32 D R06,=F'60' 1min = 1s * 60 MVI #00TMEP2,C':' CVD R06,PK_AREA UNPK UPK_AREA(8),PK_AREA(8) OI UPK_AREA+7,X'F0' MVC #00TMESS(2),UPK_AREA+6 Sec LR R06,R07 SRDA R06,32 D R06,=F'60' 1hor = 1min * 60 * CVD R07,PK_AREA UNPK UPK_AREA(8),PK_AREA(8) OI UPK_AREA+7,X'F0' MVC #00TMEHH(2),UPK_AREA+6 Hour CVD R06,PK_AREA MVI #00TMEP1,C':' UNPK UPK_AREA(8),PK_AREA(8) OI UPK_AREA+7,X'F0' MVC #00TMEMM,UPK_AREA+6 * CLC SMF99TID,=XL2'0001' If Subtype = 1 BE E991ENT CLC SMF99TID,=XL2'0002' If Subtype = 2 BE E992ENT CLC SMF99TID,=XL2'0003' If Subtype = 3 BE E993ENT B LOOP01 * ---------------- * - Self Definining Section --- E991ENT EQU * LA R11,SMF_HDR_MAP_LEN(R12) USING SMF99_SDEF_MAP,R11 L R10,SMF99DOF Load Data Section Offset ST R10,@99DOF LH R01,SMF99DLN Data Section Length STH R01,@99DLN LH R09,SMF99DON Data Section Number STH R09,@99DON LTR R09,R09 BZ E991X DROP R11 * - Subtype 1 Self Defining Section --- LA R10,0(R10,R12) USING SMF99_S1_SDEF_MAP,R10 E991 EQU * L R08,SMF99TOF Load Trace Section Offset ST R08,@99TOF LH R01,SMF99TLN Trace Section Length STH R01,@99TLN LH R07,SMF99TON Trace Section Number STH R07,@99TON LTR R07,R07 BZ E991TRCX * - Subtype 1 Trace Table Entry --- LA R08,0(R08,R12) USING SMF99_S1_AAT_MAP,R08 * ? R10 - Loop Counter E991TRC EQU * MVI #991TRC,C' ' Clear Output Work Area MVC #991TRC+1(L'#991TRC-1),#991TRC MVC #99DT,#00DT Copy Date and Time * MVC #99TRGN,SMF99_TRGN Resource Group Name MVC #99TCNM,SMF99_TCNM Service Class Name XR R01,R01 Service Period Number LH R01,SMF99_TPER CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99TPER(1),EDWORK+15 MVC #99TJOB,SMF99_TJOB Address Space Name L R01,SMF99_TSPI Sysplex Performance Index CVD R01,PK_AREA MVC EDWORK2,EDMASK2 ED EDWORK2,PK_AREA MVC #99TSPI(5),EDWORK2+12 L R01,SMF99_TLPI Local Performance Index CVD R01,PK_AREA MVC EDWORK2,EDMASK2 ED EDWORK2,PK_AREA MVC #99TLPI(5),EDWORK2+12 L R01,SMF99_TGSR Group Service Resource CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99TGSR(5),EDWORK+11 XR R01,R01 IC R01,SMF99_TRID Resource Interval Identifer CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99TRID(4),EDWORK+12 XR R01,R01 LH R01,SMF99_TCOD Action Code CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99TCOD(4),EDWORK+12 LH R01,SMF99_TCOD Action Code Table L R02,SMF99ACV E991TRC1 EQU * CLC 0(4,R02),=XL4'FFFFFFFF' If Last ? BE E991TRC3 CL R01,0(R02) If Match ? BE E991TRC2 LA R02,SMF99ACTL(R02) Next Table Entry B E991TRC1 E991TRC2 EQU * MVC #99TCODX(20),4(R02) Copy Action L R01,24(R02) Table Usage Count Up LA R01,1(R01) ST R01,24(R02) E991TRC3 EQU * * ---------------- PUT T991TRC,#991TRC XR R01,R01 LH R01,@99TLN LA R08,0(R01,R08) BCT R07,E991TRC * E991TRCX EQU * XR R01,R01 LH R01,@99DLN LA R10,0(R01,R10) BCT R09,E991 E991X EQU * DROP R08 DROP R10 * ---------------- B LOOP01 Goto Next Record ! * ---------------- ********************************************************************** * ---------------- * - Self Definining Section --- E992ENT EQU * LA R11,SMF_HDR_MAP_LEN(R12) USING SMF99_SDEF_MAP,R11 L R10,SMF99DOF Load Data Section Offset ST R10,@99DOF LH R01,SMF99DLN Data Section Length STH R01,@99DLN LH R09,SMF99DON Data Section Number STH R09,@99DON LTR R09,R09 BZ E992X DROP R11 * - Subtype 2 Self Defining Section --- LA R10,0(R10,R12) USING SMF99_S2_SDEF_MAP,R10 E992 EQU * L R08,SMF992CPOF Load Class Data Section Offset ST R08,@992CPOF LH R01,SMF992CPLN Class Data Section Length STH R01,@992CPLN LH R07,SMF992CPON Class Data Section Number STH R07,@992CPON LTR R07,R07 BZ E992SCPZ * - Subtype 2 Class Data Section --- LA R08,0(R08,R12) USING SMF99_S2_PER_MAP,R08 * ? R10 - Loop Counter E992SCP EQU * MVI #992SCP,C' ' Clear Output Work Area MVC #992SCP+1(L'#992SCP-1),#992SCP MVC #992SCPD,#00DT Copy Date and Time * MVC #99PCNM,SMF99_PCNM Service Class Name XR R01,R01 Service Period Number LH R01,SMF99_PNUM CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PNUM(1),EDWORK+15 XR R01,R01 Service Period Importance LH R01,SMF99_PIMPOR CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PIMPOR(1),EDWORK+15 CLI SMF99_PNH,X'00' "Need Help" Indicator BE E992SCP1 MVI #99PNH,C'Y' B E992SCP2 E992SCP1 EQU * MVI #99PNH,C'N' E992SCP2 EQU * XR R01,R01 Skip Clock LH R01,SMF99_PCDCLOCK CVD R01,PK_AREA MVC EDWORK,EDMASK3 ED EDWORK,PK_AREA MVC #99PCDCLOCK(3),EDWORK+13 MVC #99PGOALTYP,=CL3'DIS' CLI SMF99_PGOALTYP,X'00' Goal Type if SYSSTC BNE E992SCP3 MVC #99PGOALTYP,=CL3'SYS' B E992SCP6 E992SCP3 EQU * CLI SMF99_PGOALTYP,X'01' Goal Type if Short Response BNE E992SCP4 MVC #99PGOALTYP,=CL3'SRT' B E992SCP6 E992SCP4 EQU * CLI SMF99_PGOALTYP,X'02' Goal Type if Long Response BNE E992SCP5 MVC #99PGOALTYP,=CL3'LRT' B E992SCP6 E992SCP5 EQU * CLI SMF99_PGOALTYP,X'03' Goal Type if Velocity BNE E992SCP6 MVC #99PGOALTYP,=CL3'VEL' B E992SCP6 E992SCP6 EQU * L R01,SMF99_PSPI Sysplex Performance Index CVD R01,PK_AREA MVC EDWORK2,EDMASK2 ED EDWORK2,PK_AREA MVC #99PSPI(5),EDWORK2+12 L R01,SMF99_PLPI Local Performance Index CVD R01,PK_AREA MVC EDWORK2,EDMASK2 ED EDWORK2,PK_AREA MVC #99PLPI(5),EDWORK2+12 XR R01,R01 * IC R01,SMF99_PBDP Dispatching Priority * CVD R01,PK_AREA * MVC EDWORK,EDMASK * ED EDWORK,PK_AREA * MVC #99PBDP(3),EDWORK2+13 LA R02,SMF99_PBDP CALL @OS#6HC,((R02),#99PBDP,1) L R01,SMF99_PSERV Service Units Consumed CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PSERV(5),EDWORK+11 L R01,SMF99_PMDP Maximam Demand Percentage of CVD R01,PK_AREA CPU Time MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PMDP(3),EDWORK+13 L R01,SMF99_PMPLI MPL-in Target CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PMPLI(4),EDWORK+12 L R01,SMF99_PMPLO MPL-out Target CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PMPLO(4),EDWORK+12 L R01,SMF99_PPSPT Swap Protect Time (ms) CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PPSPT(5),EDWORK+11 L R01,SMF99_PPSITAR Protective Processer Storage CVD R01,PK_AREA Target MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PPSITAR(5),EDWORK+11 * L R01,SMF99_PCPUD CPU Delay CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PCPUD(5),EDWORK+11 L R01,SMF99_PAUXP CPU Delay CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PAUXP(5),EDWORK+11 L R01,SMF99_PAUXC CPU Delay CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PAUXC(5),EDWORK+11 L R01,SMF99_PVIO CPU Delay CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PVIO(5),EDWORK+11 L R01,SMF99_PHSS CPU Delay CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PHSS(5),EDWORK+11 L R01,SMF99_PHSC CPU Delay CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PHSC(5),EDWORK+11 L R01,SMF99_PASWP CPU Delay CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PASWP(5),EDWORK+11 L R01,SMF99_PMPLD CPU Delay CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PMPLD(5),EDWORK+11 L R01,SMF99_PCAPD CPU Delay CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PCAPD(5),EDWORK+11 L R01,SMF99_PXMO CPU Delay CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99PXMO(5),EDWORK+11 * CLI SMF99_PESSWAP,X'01' BNE E992SCP7 MVI #99PEXPPOL+0,C'P' B E992SCP9 E992SCP7 EQU * CLI SMF99_PESSWAP,X'02' BNE E992SCP8 MVI #99PEXPPOL+0,C'L' B E992SCP9 E992SCP8 EQU * CLI SMF99_PESSWAP,X'03' BNE E992SCP9 MVI #99PEXPPOL+0,C'S' B E992SCP9 E992SCP9 EQU * CLI SMF99_PGOALTYP,X'01' Goal Type if Short Response BNE E992SCPJ * CLI SMF99_PESPOL,X'01' BNE E992SCPA MVI #99PEXPPOL+2,C'P' B E992SCPC E992SCPA EQU * CLI SMF99_PESPOL,X'02' BNE E992SCPB MVI #99PEXPPOL+2,C'L' B E992SCPC E992SCPB EQU * CLI SMF99_PESPOL,X'03' BNE E992SCPC MVI #99PEXPPOL+2,C'S' B E992SCPC E992SCPC EQU * CLI SMF99_PESVIO,X'01' BNE E992SCPD MVI #99PEXPPOL+4,C'P' B E992SCPF E992SCPD EQU * CLI SMF99_PESVIO,X'02' BNE E992SCPE MVI #99PEXPPOL+4,C'L' B E992SCPF E992SCPE EQU * CLI SMF99_PESVIO,X'03' BNE E992SCPF MVI #99PEXPPOL+4,C'S' B E992SCPF E992SCPF EQU * CLI SMF99_PESHSP,X'01' BNE E992SCPG MVI #99PEXPPOL+6,C'P' B E992SCPI E992SCPG EQU * CLI SMF99_PESHSP,X'02' BNE E992SCPH MVI #99PEXPPOL+6,C'L' B E992SCPI E992SCPH EQU * CLI SMF99_PESHSP,X'03' BNE E992SCPI MVI #99PEXPPOL+6,C'S' B E992SCPI E992SCPI EQU * B E992SCPY E992SCPJ EQU * LA R02,#99PEXPPOL+2 Write Pointer XR R01,R01 Demand Page Protect LH R01,SMF99_PPROT CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA LA R01,EDWORK LA R15,16 E992SCPK EQU * CLI 0(R01),C' ' BNE E992SCPL LA R01,1(R01) BCT R15,E992SCPK E992SCPL EQU * STC R15,*+5 MVC 0(0,R02),0(R01) LA R02,0(R02,R15) MVI 0(R02),C'/' LA R02,1(R02) XR R01,R01 Demand Page LRU LH R01,SMF99_PLRU CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA LA R01,EDWORK LA R15,16 E992SCPM EQU * CLI 0(R01),C' ' BNE E992SCPN LA R01,1(R01) BCT R15,E992SCPM E992SCPN EQU * STC R15,*+5 MVC 0(0,R02),0(R01) LA R02,0(R02,R15) MVI 0(R02),C'/' LA R02,1(R02) XR R01,R01 Demand Page Available LH R01,SMF99_PSPAV CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA LA R01,EDWORK LA R15,16 E992SCPO EQU * CLI 0(R01),C' ' BNE E992SCPP LA R01,1(R01) BCT R15,E992SCPO E992SCPP EQU * STC R15,*+5 MVC 0(0,R02),0(R01) LA R02,0(R02,R15) MVI 0(R02),C' ' LA R02,1(R02) XR R01,R01 VIO LRU LH R01,SMF99_PVIOL CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA LA R01,EDWORK LA R15,16 E992SCPQ EQU * CLI 0(R01),C' ' BNE E992SCPR LA R01,1(R01) BCT R15,E992SCPQ E992SCPR EQU * STC R15,*+5 MVC 0(0,R02),0(R01) LA R02,0(R02,R15) MVI 0(R02),C'/' LA R02,1(R02) XR R01,R01 VIO Available LH R01,SMF99_PVIOS CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA LA R01,EDWORK LA R15,16 E992SCPS EQU * CLI 0(R01),C' ' BNE E992SCPT LA R01,1(R01) BCT R15,E992SCPS E992SCPT EQU * STC R15,*+5 MVC 0(0,R02),0(R01) LA R02,0(R02,R15) MVI 0(R02),C' ' LA R02,1(R02) XR R01,R01 Hiper Space LRU LH R01,SMF99_PHSPL CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA LA R01,EDWORK LA R15,16 E992SCPU EQU * CLI 0(R01),C' ' BNE E992SCPV LA R01,1(R01) BCT R15,E992SCPU E992SCPV EQU * STC R15,*+5 MVC 0(0,R02),0(R01) LA R02,0(R02,R15) MVI 0(R02),C'/' LA R02,1(R02) XR R01,R01 Hiper Space Available LH R01,SMF99_PHSPS CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA LA R01,EDWORK LA R15,16 E992SCPW EQU * CLI 0(R01),C' ' BNE E992SCPX LA R01,1(R01) BCT R15,E992SCPW E992SCPX EQU * STC R15,*+5 MVC 0(0,R02),0(R01) LA R02,0(R02,R15) E992SCPY EQU * * ---------------- PUT T992SCP,#992SCP XR R01,R01 LH R01,@992CPLN LA R08,0(R01,R08) BCT R07,E992SCP * E992SCPZ EQU * XR R01,R01 LH R01,@99DLN LA R10,0(R01,R10) BCT R09,E991 E992X EQU * DROP R08 DROP R10 * ---------------- B LOOP01 Goto Next Record ! * ---------------- *** Subtype 3 ******************************************************** * ---------------- * - Self Definining Section --- E993ENT EQU * LA R11,SMF_HDR_MAP_LEN(R12) USING SMF99_SDEF_MAP,R11 L R10,SMF99DOF Load Data Section Offset ST R10,@99DOF LH R01,SMF99DLN Data Section Length STH R01,@99DLN LH R09,SMF99DON Data Section Number STH R09,@99DON LTR R09,R09 BZ E993X DROP R11 * - Subtype 3 Self Defining Section --- LA R10,0(R10,R12) USING SMF99_S3_SDEF_MAP,R10 E993 EQU * L R08,SMF993COF Load Class Data Section Offset ST R08,@993COF LH R01,SMF993CLN Class Data Section Length STH R01,@993CLN LH R07,SMF993CON Class Data Section Number STH R07,@993CON LTR R07,R07 BZ E993PLTX * - Subtype 3 Class Data Section --- LA R08,0(R08,R12) USING SMF99_S3_CLS_MAP,R08 MVC @993PNAM,SMF99_PNAM DROP R08 * L R08,SMF993CPOF Load Class Data Plot Offset ST R08,@993CPOF LH R01,SMF993CPLN Class Data Plot Length STH R01,@993CPLN LH R07,SMF993CPON Class Data Plot Number STH R07,@993CPON LTR R07,R07 BZ E993PLTX * - Subtype 3 Class Data Plot Section --- LA R08,0(R08,R12) USING SMF99_S3_PER_SDEF_MAP,R08 * ? R07 - Loop Counter E993PLT EQU * MVI #993PLT,C' ' Clear Output Work Area MVC #993PLT+1(L'#993PLT-1),#993PLT MVC #993PLTD,#00DT Copy Date and Time * MVC #993PNAM,@993PNAM Class Name E993PRP EQU * Paging Plot MVC #993PTYP,=CL3'PRP' L R11,SMF993_PRPOF LH R01,SMF993_PRPLN STH R01,@99PRPLN LH R06,SMF993_PRPON LTR R06,R06 BZ E993MPL E993PRPL EQU * BAL R14,E99P XR R01,R01 LH R01,@99PRPLN LA R11,0(R11,R01) BCT R06,E993PRPL * E993MPL EQU * MPL Plot MVC #993PTYP,=CL3'MPL' L R11,SMF993_MPLOF LH R06,SMF993_MPLON LTR R06,R06 BZ E993RUA E993MPLL EQU * BAL R14,E99P XR R01,R01 LH R01,SMF993_MPLLN LA R11,0(R11,R01) BCT R06,E993MPLL * E993RUA EQU * MPL Plot MVC #993PTYP,=CL3'RUA' L R11,SMF993_RUAOF LH R06,SMF993_RUAON LTR R06,R06 BZ E993SWP E993RUAL EQU * BAL R14,E99P XR R01,R01 LH R01,SMF993_RUALN LA R11,0(R11,R01) BCT R06,E993RUAL * E993SWP EQU * MPL Plot MVC #993PTYP,=CL3'SWP' L R11,SMF993_SWPOF LH R06,SMF993_SWPON LTR R06,R06 BZ E993PAS E993SWPL EQU * BAL R14,E99P XR R01,R01 LH R01,SMF993_SWPLN LA R11,0(R11,R01) BCT R06,E993SWPL * E993PAS EQU * MPL Plot MVC #993PTYP,=CL3'PAS' L R11,SMF993_PASOF LH R06,SMF993_PASON LTR R06,R06 BZ E993PASX E993PASL EQU * BAL R14,E99P XR R01,R01 LH R01,SMF993_PASLN LA R11,0(R11,R01) BCT R06,E993PASL E993PASX EQU * * ---------------- XR R01,R01 LH R01,@993CPLN LA R08,0(R01,R08) BCT R07,E993PLT * E993PLTX EQU * XR R01,R01 LH R01,@99DLN LA R10,0(R01,R10) BCT R09,E993 E993X EQU * DROP R08 DROP R10 * ---------------- B LOOP01 Goto Next Record ! * ---------------- ************ SA#E99P DS 18F E99P EQU * STM R00,R15,SA#E99P LA R11,0(R11,R12) USING SMF99_S3_PPRP_MAP,R11 L R01,SMF99_PPRP_PNUM Service Period Number CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #993PNUM(1),EDWORK+15 L R01,SMF99_PPRP_BW CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #993P_BW(5),EDWORK+11 L R08,SMF99_PPRP_POINTS_OF LH R09,SMF99_PPRP_POINTS_ON LTR R09,R09 BZ E99PMAPX L R01,SMF99_PPRP_LSTX LH R10,SMF99_PPRP_POINTS_ON SR R10,R01 LA R10,1(R10) LA R08,0(R08,R12) USING SMF99_ONE_CURVE_POINT_MAP,R08 E99PMAP EQU * L R01,SMF99_PLOT_XVAL X Value CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #993PX(8),EDWORK+8 L R01,SMF99_PLOT_YVAL X Value CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #993PY(8),EDWORK+8 CLR R10,R09 BNE E99PMAP1 MVC #993LSTX,=CL3'CCC' E99PMAP1 EQU * * PUT T993PLT,#993PLT * MVC #993PTYP,=CL3' ' MVC #993PNUM,=CL1' ' MVC #993P_BW,=CL5' ' MVC #993PNAM,=CL8' ' MVC #993LSTX,=CL3' ' * XR R01,R01 LH R01,SMF99_PPRP_POINTS_LN LA R08,0(R08,R01) BCT R09,E99PMAP * E99PMAPX EQU * LM R00,R15,SA#E99P BR R14 DROP R08,R11 * ********************************************************************** * *** END OF PROCESS *********************************************** @BYE EQU * *--- Subtype 1 Action Trace Usage Summary --- PUT T991TRC,#991TS1 PUT T991TRC,#991TS2 L R06,SMF99ACV E991TSUM EQU * CLC 0(4,R06),=XL4'FFFFFFFF' If Last ? BE E991TSUX MVI #991TSUM,C' ' MVC #991TSUM+1(L'#991TSUM-1),#991TSUM * L R01,0(R06) Code CVD R01,PK_AREA UNPK UPK_AREA(8),PK_AREA(8) OI UPK_AREA+7,X'F0' MVC #99TSCOD(4),UPK_AREA+4 MVC #99TSCOX(20),4(R06) L R01,24(R06) Counter CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #99TSCNT(10),EDWORK+6 PUT T991TRC,#991TSUM LA R06,SMF99ACTL(R06) Next Table Entry B E991TSUM E991TSUX EQU * * *--- End of Process --- CLOSE (INDCB,,T991TRC,,T992SCP,,T993PLT) L R13,SAVEAREA+4 RETURN (14,12),RC=0 *** DCB ********************************************************** INDCB DCB DSORG=PS,MACRF=(GM),DDNAME=INDD, * EODAD=@BYE T991TRC DCB DSORG=PS,MACRF=(PM),DDNAME=T991TRC T992SCP DCB DSORG=PS,MACRF=(PM),DDNAME=T992SCP T993PLT DCB DSORG=PS,MACRF=(PM),DDNAME=T993PLT *** DEFINE STORAGE *********************************************** DS 0F SAVEAREA DS 18F SAVEAREA REGS DS 18F WORK SAVEAREA TR DC C'0123456789ABCDEF' CHAR TRUNC TABLE A_TR DC A(TR) DS 0D PK_AREA DS PL8 UPK_AREA DS XL16 * 1 * 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 EDMASK DC XL16'40202020202020202020202020202120' EDMASK2 DC XL17'40202020202020202020202021204B2020' EDMASK3 DC XL16'60202020202020202020202020202120' EDWORK DS XL16 EDWORK2 DS XL17 PK_ARE2 DS PL16 UPK_ARE2 DS XL16 WK#F DS F #00DT DS 0CL15 #00DTEYY DS CL2 Wrote Date YY #00DTEP DS CL1'/' / #00DTEDD DS CL3 DDD DC CL1' ' #00TMEHH DS CL2 Wrote Time HH #00TMEP1 DS CL1':' : #00TMEMM DS CL2 MM #00TMEP2 DS CL1':' : #00TMESS DS CL2 SS SMF99ACV DC V(SMF99ACT) WLM Action Code Table * --------------------------------------------------------- #991TRCT DC CL156' YY/DDD HH:MM:SS TRGN TCNM P JOBNAME TSPI* TLPI TGSR TRID TCOD' #991TRC DS 0CL156 DS CL1 #99DT DS 0CL15 #99DTEYY DS CL2 Wrote Date YY #99DTEP DS CL1'/' / #99DTEDD DS CL3 DDD DS CL1 #99TMEHH DS CL2 Wrote Time HH #99TMEP1 DS CL1':' : #99TMEMM DS CL2 MM #99TMEP2 DS CL1':' : #99TMESS DS CL2 SS DS CL1 #99TRGN DS CL8 Resource Group Name DS CL1 #99TCNM DS CL8 Service Class Name DS CL1 #99TPER DS CL1 Service Period Number DS CL1 #99TJOB DS CL8 Address Space Name DS CL1 #99TSPI DS CL5 Sysplex Performance Index DS CL1 #99TLPI DS CL5 Local Performance Index DS CL1 #99TGSR DS CL5 Group Service Resource DS CL1 #99TRID DS CL4 Resource Interval Identifer DS CL1 #99TCOD DS CL4 Action Code DS CL1 #99TCODX DS CL20 DS CL1 DS CL156 * ------------------------------------------ #991TS1 DC CL156' *** ACTION CODE USAGE SUMMARY ***' #991TS2 DC CL156' CODE ACTION COUNT' ' #991TSUM DS 0CL156 DS CL1 #99TSCOD DS CL4 DS CL1 #99TSCOX DS CL20 DS CL1 #99TSCNT DS CL10 DS CL156 * ------------------------------------------ #992SCPT DC CL256' YY/DDD HH:MM:SS CLASS P I N SC GT SPI LP* I DP SERV MDP MPLI MPLO SWAPT PSI CPUD AUXP AUXC * VIO HSS HSC ASWP MPLD CAPD XMP EXP POL' #992SCP DS 0CL256 DS CL1 #992SCPD DS 0CL15 #992SCPY DS CL2 Wrote Date YY DS CL1'/' / #992SCPA DS CL3 DDD DS CL1 #992SCPH DS CL2 Wrote Time HH DS CL1':' : #992SCPM DS CL2 MM DS CL1':' : #992SCPS DS CL2 SS DS CL1 #99PCNM DS CL8 Service Class Name DS CL1 #99PNUM DS CL1 Service Period Number DS CL1 #99PIMPOR DS CL1 Period's Importance DS CL1 #99PNH DS CL1 "Need Help" Indicator DS CL1 #99PCDCLOCK DS CL3 Skip Clock DS CL1 #99PGOALTYP DS CL3 Goal Type DS CL1 #99PSPI DS CL5 Sysplex Performance Index DS CL1 #99PLPI DS CL5 Local Performance Index DS CL1 #99PBDP DS CL3 Dispatching Priority DS CL1 #99PSERV DS CL5 Service Units Consumed DS CL1 #99PMDP DS CL3 Maximam Demand Percentage of DS CL1 CPU Time #99PMPLI DS CL4 MPL-in Target DS CL1 #99PMPLO DS CL4 MPL-out Target DS CL1 #99PPSPT DS CL5 Swap Protect Time (ms) DS CL1 #99PPSITAR DS CL5 Protective Processer Storage DS CL1 Target #99PCPUD DS CL5 Cpu Dealy DS CL1 #99PAUXP DS CL5 DS CL1 #99PAUXC DS CL5 DS CL1 #99PVIO DS CL5 DS CL1 #99PHSS DS CL5 DS CL1 #99PHSC DS CL5 DS CL1 #99PASWP DS CL5 DS CL1 #99PMPLD DS CL5 DS CL1 #99PCAPD DS CL5 DS CL1 #99PXMO DS CL5 DS CL1 #99PEXPPOL DS CL50 Extended Storage Access DS CL1 Policies DS CL156 * ------------------------------------------ #993PLTT DC CL156' YY/DDD HH:MM:SS CLASS P TYP P_BW X * Y PLT' #993PLT DS 0CL156 DS CL1 #993PLTD DS 0CL15 #993SWPY DS CL2 Wrote Date YY DS CL1'/' / #993SWPA DS CL3 DDD DS CL1 #993SWPH DS CL2 Wrote Time HH DS CL1':' : #993SWPM DS CL2 MM DS CL1':' : #993SWPS DS CL2 SS DS CL1 #993PNAM DS CL8 Service Class Name DS CL1 #993PNUM DS CL1 Service Period Number DS CL1 #993PTYP DS CL3 PPR or MPL or RUA or SWP or DS CL1 RAS #993P_BW DS CL5 DS CL1 #993PX DS CL8 Tine In Proc Stor DS CL1 #993PY DS CL8 Swap Delay DS CL1 #993LSTX DS CL3 DS CL1 DS CL156 * ------------------------------------------ @99DOF DS F Data Section Offset @99DLN DS H Data Section length @99DON DS H Data Section Number @99TOF DS F Subtype 1 Trace Section Offset @99TLN DS H Subtype 1 Trace Section Length @99TON DS H Subtype 1 Trace Section Number @992CPOF DS F Subtype 2 Class Data Section Offset @992CPLN DS H Subtype 2 Class Data Section Length @992CPON DS H Subtype 2 Class Data Section Number @993COF DS F Subtype 3 Class Data Section Offset @993CLN DS H Subtype 3 Class Data Section Length @993CON DS H Subtype 3 Class Data Section Number @993CPOF DS F Subtype 3 Class Data Section Offset @993CPLN DS H Subtype 3 Class Data Section Length @993CPON DS H Subtype 3 Class Data Section Number @993PNAM DS CL8 Subtype 3 Class Name @99PRPLN DS H Subtype 3 PRP Length @99MPLLN DS H Subtype 3 MPL Length @99RUALN DS H Subtype 3 RUA Length @99SWPLN DS H Subtype 3 SWP Length @99PASLN DS H Subtype 3 PAS Length * ------------------------------------------ *** REC TYPE LITERAL ORIGIN ************************************** LTORG RECAREA DS 32767C COPY @SMF99#T PRINT GEN IRASMF99 R00 EQU 00 R01 EQU 01 R02 EQU 02 R03 EQU 03 R04 EQU 04 R05 EQU 05 R06 EQU 06 R07 EQU 07 R08 EQU 08 R09 EQU 09 R10 EQU 10 R11 EQU 11 R12 EQU 12 R13 EQU 13 R14 EQU 14 R15 EQU 15 END SMF99E /* //SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR // DD DSN=SYS1.AMODGEN,DISP=SHR // DD DSN=your.maclib,DISP=SHR //SYSUT1 DD UNIT=(SYSDA,SEP=SYSLIB),SPACE=(CYL,(10,5)),DSN=&SYSUT1 //SYSPUNCH DD DUMMY //SYSPRINT DD SYSOUT=*,DCB=(BLKSIZE=3509), // UNIT=(,SEP=(SYSUT1,SYSPUNCH)) //SYSLIN DD DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,(5,5,0)), // DCB=(BLKSIZE=400),DSN=&&LOADSET //L EXEC PGM=IEWL,PARM='MAP,LET,LIST', // REGION=1M,COND=(8,LT,A) //SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(3,2)),DSN=&SYSUT1 //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FB,BLKSIZE=3509) //OBJ DD DISP=SHR,UNIT=SYSDA, // DSN=your.objlib //SYSLMOD DD DISP=(,PASS),UNIT=SYSDA, // SPACE=(CYL,(2,1,2)),DSN=&GOSET(@SE99#00) //*YSLMOD DD DISP=SHR,UNIT=SYSDA, //* DSN=your.loadlib //SYSIN DD * INCLUDE OBJ(@OS#6HC) ENTRY SMF99E NAME @SE99#00(R) /* //DEL EXEC PGM=IEFBR14 //DD1 DD DSN=SMFEDIT.T991TRC,DISP=(OLD,DELETE), // UNIT=DASD,VOL=SER=serial //DD2 DD DSN=SMFEDIT.T992SCP,DISP=(OLD,DELETE), // UNIT=DASD,VOL=SER=serial //DD3 DD DSN=SMFEDIT.T993PLT,DISP=(OLD,DELETE), // UNIT=DASD,VOL=SER=serial //DD4 DD DSN=SMFEDIT.T991TRC.J,DISP=(OLD,DELETE), // UNIT=DASD,VOL=SER=serial //********************* //STEP1 EXEC PGM=UFASMFDP //SYSPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //INDD DD DSN=SYS1.MANx,DISP=SHR //OUTDD DD DSN=&&DUMPOUT,DISP=(,PASS), // UNIT=DASD,VOL=SER=serial,SPACE=(CYL,(50,50),RLSE) //SYSIN DD * INDD(INDD,OPTIONS(DUMP)) OUTDD(OUTDD,TYPE(99)) //********************* //G EXEC PGM=*.L.SYSLMOD,COND=((9,LT,A),(9,LT,L)) //* EXEC PGM=@SE99#00,COND=((9,LT,A),(9,LT,L)) //STEPCAT DD DSN=TSOCAT,DISP=SHR //STEPLIB DD DISP=SHR,UNIT=SYSDA, // DSN=your.loadlib //INDD DD DSN=&&DUMPOUT,DISP=OLD //T991TRC DD DSN=SMFEDIT.T991TRC,DISP=(,CATLG), // UNIT=DASD,VOL=SER=serial,SPACE=(CYL,(10,10),RLSE), // DCB=(RECFM=FB,LRECL=156,BLKSIZE=15600) //T992SCP DD DSN=SMFEDIT.T992SCP,DISP=(,CATLG), // UNIT=DASD,VOL=SER=serial,SPACE=(CYL,(10,10),RLSE), // DCB=(RECFM=FB,LRECL=256,BLKSIZE=25600) //T993PLT DD DSN=SMFEDIT.T993PLT,DISP=(,CATLG), // UNIT=DASD,VOL=SER=serial,SPACE=(CYL,(10,10),RLSE), // DCB=(RECFM=FB,LRECL=156,BLKSIZE=15600) //LIST EXEC PGM=IKJEFT01,TIME=1440,REGION=20M, // PARM='%@WLMTRC' //STEPCAT DD DSN=user-catalog,DISP=SHR //SYSPROC DD DSN=your.clist,DISP=SHR //SYSTSPRT DD SYSOUT=* //INF DD DSN=SMFEDIT.T991TRC,DISP=SHR //TBL DD DSN=WLM.TRACE.DATA,DISP=SHR //OUT DD DSN=SMFEDIT.T991TRC.J,DISP=(,CATLG), // UNIT=DASD,VOL=SER=serial,SPACE=(CYL,(10,10),RLSE), // DCB=(RECFM=VB,LRECL=1024,BLKSIZE=10244) //SYSTSIN DD DUMMY