/*ANALGRID - CREATE A COLOR-INTENSE GRID OF A VARIABLE ACROSS A DAY*/ /* SEE HTTP://WWW.MXG.COM/DOWNLOADS, ANALGRID FOR REPORT EXAMPLES. */ /* PARAMETERS: */ /* INDATA=PDB.ASUM70LP - INPUT DATASET(S) */ /* STARTIME=STARTIME - START TIME OF INTERVAL VARIABLE NAME */ /* SORTBY=CPCFNAME LPARNAME - SORT/SUMMARIZE BY THESE */ /* SORTLABEL=CEC/LPAR - HOW TO LABEL THE SORT VARIABLES IN THE */ /* TITLES. LABELS FOR EACH OF THE SORTBY */ /* VARIABLES SEPARATED BY A / */ /* INCODE= - STUB OF CODE FOR SELECTING INPUT OBS. */ /* FOR EXAMPLE, IF USING THE ASUM70LP DATASET*/ /* AS INPUT YOU MUST SELECT THE DATA FROM A */ /* SINGLE LPAR ON EACH CEC OR THERE WILL BE */ /* DUPLICATE DATA AND BOGUS RESULTS */ /* OUTCODE= - STUB OF CODE after summarization of data */ /* BKT1=10/PURPLE/WHITE- UP TO 9 BUCKETS FOR CATEGORIZING THE DATA.*/ /* BKT2=20/VIOLET/BLACK DEFAULTS ARE 10-90 BY 10 FOR PERCENTILES */ /* BKT3=30/BLUE/WHITE FORMAT VALUE/BACKGROUND COLOR/FOREGROUND */ /* BKT4=40/CYAN/BLACK COLOR. VALUES ARE USED AS LT THE VALUE IS */ /* BKT5=50/GREEN/BLACK IN THIS BUCKET DPSLAYED WITH THESE COLORS.*/ /* BKT6=60/LIME/BLACK A FINAL BUCKET IS ADDED WITH VALUE GT THE */ /* BKT7=70/YELLOW/BLACK LAST BUCKET. TO USE FEWER THAN 9 BUCKETS */ /* BKT8=80/ORANGE/BLACK ADD A BUCKET WITH A NULL VALUE SO IF YOU */ /* BKT9=90/MAGENTA/BLACK WANT 5 BUCKETS MAKE BUCKET 6 BKT6= NULLS. */ /* FINALBKT=RED/BLACK BACKGROUND/FORGRROUND COLORS FINAL BUCKET */ /* VARIABLE=PCTLPBY VARIABLE TO BE SUMMED */ /* VARFORMAT=3. FORMAT TO USE WHEN DISPLAY VALUE */ /* VARLABEL=LOG % COLUMN LABEL FOR VARIABLE */ /* WEIGHT=DURATM WEIGHT(NORM) VARIABLE FOR RATES */ /* STAT=MEAN STATISTIC USED ON REPORT COULD BE SUM */ /* MEAN MIN MAX */ /* INTERVAL=HOUR INTERVAL VALUES LESS THAN OR EQUAL HOUR */ /* HOUR HALFHOUR TWENTYMIN QTRHOUR TENMIN */ /* FIVEMIN TWOMIN ONEMIN */ /* COLVARIABLE=HOUR VARIABLE TO USE FOR EACH COLUMN MAY BE */ /* HOUR OR TIME */ /* COLFORMAT=2. FORMAT TO USE TO DISPLAY COLVARIABLE */ /* COLLABEL=HOUR LABEL FOR COLVARIABLE */ /* ROWVARIABLE=DAY VARIABLE TO USE FOR EACH ROW MAY BE */ /* ROWFORMAT=2. FORMAT TO USE TO DISPLAY ROWVARIABLE */ /* ROWLABEL=DAY LABEL FOR ROWVARIABLE */ /* VARIABLES CREATED BASED ON STARTIME and INTERVAL THAT CAN BE */ /* USED FOR COLUMNS ROWS: */ /* MONTH - FIRST DAY OF MONTH */ /* WEEK - FIRST DAY OF WEEK */ /* DATE - DATE */ /* DAY - DAY OF MONTH */ /* WEEKDATE - MON TUE WED THU FRI SAT SUN */ /* WEEKDAY - 2 3 4 5 6 7 1 */ /* HOUR - HOUR */ /* TIME - TIME VALUE */ /* DATETIME - DATETIME VALUE */ /* ODSTYPE=HTML TYPE OF ODS OUTPUT */ /* ODSPATH=C:\MXG WHERE TO PUT THE ODS */ /* ODSFILE=ANALGRID.HTML NAME OF THE ODS OUTPUT */ /* TITLE1=MXG GRID ANALYSIS FIRST TITLE LINE */ /* DATA SELECTION PARAMETERS USING =: (WILDCARD) */ /* SYSTEM= SYSTEM NAME(S) TO BE SELECTED */ /* LPARNAME= LPAR NAME(S) TO BE SELECTED */ /* SYSPLEX= SYSPLEX NAME(S) TO BE SELECTED */ /* JOB= JOB NAME(S) TO BE SELECTED */ /* PROGRAM= PROGRAM NAME(S) TO BE SELECTED */ /* SRVCLASS= SERVICE CLASSE(S) TO BE SELECTED */ /* TRANNAME= TRANSACTION NAME(S) TO BE SELECTED */ /* DATES= DATES TO BE SELECTED VALUES CAN BE: */ /* LASTMONTH - GET ONLY DATA FOR LAST MONTH */ /* THISMONTH - GET ONLY DATA FOR THIS MONTH */ /* LASTWEEK - GET ONLY DATA FOR LAST WEEK */ /* THISWEEK - GET ONLY DATA FOR THIS WEEK */ /* ` YESTERDAY - GET ONLY DATA FOR YESTERDAY */ /* '11NOV11'D '11DEC11'D A DATE RANGE */ /*******************************************************************/ /* THIS PROGRAM IS A REVISION OF THE DESIGN BY ROBERT OBEE */ /*******************************************************************/ /*EXAMPLES OF USAGE: */ /*EXAMPLE 1 - DEFAULTS READS ASUM70LP AND DISPLAYS AT ONE HOUR */ /* INTERVALS. BUT, SINCE THERE MAY BE DATA FROM MORE */ /* THAN ONE LPAR ON A CEC PERCENTAGES MAY EXCEED 100 */ /* %ANALGRID; */ /*EXAMPLE 2 - EXAMPLE 1 MODIFIED TO SELECT DATA FROM ONLY A SINGLE */ /* SYSTEM. DISPLAYS ALL THE LPARS EVEN THOSE WITH NO */ /* OR LITTLE VALUE SUCH AS PHYSICAL AND ZVM/LINUX */ /* %ANALGRID( */ /* SYSTEM=SYSG); */ /*EXAMPLE 3 - EXAMPLE 1 MODIFIED TO SELECT DATA FROM ONLY A SINGLE */ /* SYSTEM AND LPAR */ /* %ANALGRID( */ /* SYSTEM=SYSG, */ /* LPARNAME=SYSG); */ /*EXAMPLE 4 - EXAMPLE 1 MODIFIED TO SELECT DATA FROM ONLY A SINGLE */ /* SYSTEM. SELECTING ONLY A SINGLE LPAR, CHANGE THE */ /* INTERVAL TO QTRHOUR, CHANGE THE COLUMN VARIABLE AND */ /* TO TIME WITH A TIME5. FORMAT. */ /* %ANALGRID( */ /* SYSTEM=SYSG,LPARNAME=SYSG, */ /* INTERVAL=QTRHOUR,STARTIME=STARTIME, */ /* COLVARIABLE=TIME,COLLABEL=TIME,COLFORMAT=TIME5.); */ /*EXAMPLE 5 - EXAMPLE 1 MODIFIED TO SELECT DATA FROM ONLY A SINGLE */ /* SYSTEM. SELECTING ONLY A SINGLE LPAR, CHANGE THE */ /* INTERVAL TO QTRHOUR, CHANGE THE COLUMN VARIABLE AND */ /* TO TIME WITH A TIME5. FORMAT AND SELECT ONLY DATA */ /* FROM LASTWEEK. */ /* %ANALGRID( */ /* SYSTEM=SYSG,LPARNAME=SYSG, */ /* INTERVAL=QTRHOUR,STARTIME=STARTIME,DATES=LASTWEEK, */ /* COLVARIABLE=TIME,COLLABEL=TIME,COLFORMAT=TIME5.); */ /*EXAMPLE 6 - EXAMPLE 1 MODIFIED TO SELECT DATA FROM ONLY A SINGLE */ /* SYSTEM. SELECTING ONLY A SINGLE LPAR, CHANGE THE */ /* INTERVAL TO QTRHOUR, CHANGE THE COLUMN VARIABLE AND */ /* TO TIME WITH A TIME5. FORMAT AND SELECT ONLY DATA */ /* FROM LASTWEEK MODIFY THE BUCKETS TO BE 25 50 75 AND */ /* GT 75 */ /* %ANALGRID( */ /* SYSTEM=SYSG,LPARNAME=SYSG, */ /* BKT1=25/BLUE/WHITE, */ /* BKT2=50/GREEN/WHITE, */ /* BKT3=75/ORANGE/BLACK, */ /* BKT4=, */ /* INTERVAL=QTRHOUR,STARTIME=STARTIME,DATES=LASTWEEK, */ /* COLVARIABLE=TIME,COLLABEL=TIME,COLFORMAT=TIME5.); */ /*EXAMPLE 7 - EXAMPLE 1 MODIFIED TO SELECT DATA FROM ONLY A SINGLE */ /* SYSTEM. SELECTING ONLY A SINGLE LPAR, CHANGE THE */ /* INTERVAL TO QTRHOUR, CHANGE THE COLUMN VARIABLE AND */ /* TO TIME WITH A TIME5. FORMAT AND CHANGE THE COLORS ON*/ /* THE LAST BUCKET FROM RED/BLACK TO BLACK/WHITE */ /* %ANALGRID( */ /* SYSTEM=SYSG,LPARNAME=SYSG, */ /* FINALBKT=BLACK/WHITE,STARTIME=STARTIME,INTERVAL=HOUR, */ /* COLVARIABLE=TIME,COLLABEL=TIME,COLFORMAT=TIME5.); */ /*EXAMPLE 8 - EXAMPLE 1 MODIFIED TO SELECT DATA FROM ONLY A SINGLE */ /* SYSTEM. SELECTING ONLY A SINGLE LPAR, CHANGE THE */ /* INTERVAL TO QTRHOUR, CHANGE THE COLUMN VARIABLE AND */ /* TO TIME WITH A TIME5. FORMAT AND CHANGE THE ROW TO BE*/ /* THE ACTUAL DATE RATHER THAN THE DAY OF THE MONTH */ /* %ANALGRID( */ /* SYSTEN=SYSG,LPARNAME=SYSG, */ /* INTERVAL=QTRHOUR,STARTIME=STARTIME,DATES=LASTWEEK, */ /* COLVARIABLE=TIME,COLLABEL=TIME,COLFORMAT=TIME5., */ /* ROWVARIABLE=DATE,ROWLABEL=DATE,ROWFORMAT=DATE.); */ /*EXAMPLE 9 - EXAMPLE 1 MODIFIED TO SELECT DATA FROM ONLY A SINGLE */ /* SYSTEM. SELECTING ONLY A SINGLE LPAR, CHANGE THE */ /* INTERVAL TO QTRHOUR, CHANGE THE COLUMN VARIABLE AND */ /* TO TIME WITH A TIME5. FORMAT AND CHANGE THE ROW TO BE*/ /* THE ACTUAL DATE RATHER THAN THE DAY OF THE MONTH AND */ /* CHANGE THE LABLE FOR THE VARIABLE BEING DISPLAYED TO */ /* % CPU */ /* %ANALGRID( */ /* SYSTEM=SYSG,LPARNAME=SYSG, */ /* DATES=LASTWEEK, */ /* VARLABEL=% CPU, */ /* COLVARIABLE=TIME,COLLABEL=TIME,COLFORMAT=TIME5., */ /* ROWVARIABLE=DATE,ROWLABEL=DATE,ROWFORMAT=DATE.); */ /*EXAMPLE 10 - USE RMFINTRV AS THE INPUT, SUM THE CPUTM VARIABLE */ /* WITH BUCKETS AT 01:00 02:00 03:00 (1 2 3 HOURS AS */ /* THIS IS A 4 WAY SYSTEM). NOTE THAT BECAUSE CPUTM IS */ /* NOT A 'RATE' WEIGHT MUST BE A NULL VALUE. */ /* %ANALGRID( */ /* SYSTEM=SYSG, */ /* INDATA=PDB.RMFINTRV, */ /* SORTBY=SYSTEM, */ /* DATES=LASTWEEK, */ /* VARFORMAT=TIME12.2, */ /* BKT1='01:00'T/BLUE/WHITE, */ /* BKT2='02:00'T/GREEN/WHITE, */ /* BKT3='03:00'T/CYAN/BLACK, */ /* BKT4=, */ /* WEIGHT=, */ /* STAT=SUM, */ /* VARIABLE=CPUTM, */ /* VARLABEL=CPU TIME, */ /* COLVARIABLE=TIME,COLLABEL=TIME,COLFORMAT=TIME5., */ /* ROWVARIABLE=DATE,ROWLABEL=DATE,ROWFORMAT=DATE. */ /* ); */ /*EXAMPLE 11 - CHART % CPU BY WEEK AND DAY OF WEEK THIS FORMAT PUTS*/ /* THE DAYS OF THE WEEK IN ALPHA ORDER */ /* %ANALGRID( */ /* SYSTEM=SYSG,LPARNAME=SYSG, */ /* SORTBY=CPCFNAME LPARNAME, */ /* INTERVAL=DATE,VARLABEL=% CPU, */ /* COLVARIABLE=WEEKDATE,COLLABEL=DAY,COLFORMAT=$3., */ /* ROWVARIABLE=WEEK,ROWLABEL=WEEK,ROWFORMAT=DATE. */ /* ); */ /*EXAMPLE 12 - CHART % CPU BY WEEK AND DAY OF WEEK THIS FORMAT PUTS*/ /* uses the actual date but now there are blocks for all*/ /* days for each week */ /* %ANALGRID( */ /* SYSTEM=SYSG,LPARNAME=SYSG, */ /* SORTBY=CPCFNAME LPARNAME, */ /* INTERVAL=DATE,VARLABEL=% CPU, */ /* COLVARIABLE=date,COLLABEL=DAY,COLFORMAT=date., */ /* ROWVARIABLE=WEEK,ROWLABEL=WEEK,ROWFORMAT=DATE. */ /* ); */ /*******************************************************************/