|
Sample JES2 Job Performance Report from SMF 30 Records
It reads as input the SMF file and selects just the type 30 subtype 5 (job termination) records. For this report, we include only JES2 submitted jobs -- no started tasks, TSO sessions, UNIX OMVS tasks, etc. (See SMF 30 record layout.) We assigned each job to a quarter-hour time slot. We also computed some useful data items to included in the report. We sorted the records by time slot, and printed only the total information for each time slot. The SUMMARY option suppessed the detailed information for each job. (You may want to include the detail information as you are developing your report, and then add the SUMMARY option when it is fully debugged.) We used the COLUMNS statement just to get the automatic column headings. The data that actually prints in the report is specified in the two BREAK statements. One BREAK statement for the time slot control break. The other BREAK statement is for the grand total "break." Note that the sample report below uses a small test SMF file. A production file would show slots for all (active) times of the day. All of this with just a few lines of code!
These Spectrum SMF Writer Statements:************************************************** * CREATE JUST A SUMMARY REPORT ************************************************** OPTIONS: SUMMARY ************************************************** * SPECIFY THE INPUT FILE (AND LAYOUT) FOR THIS RUN ************************************************** INPUT: SMF30 ************************************************** * SPECIFY WHICH SMF RECORDS TO INCLUDE IN REPORT * WE WANT SMF 30 JOB COMPLETION RECORDS FOR 1 DAY ************************************************** INCLUDEIF: SMF30RTY = 30 AND SMF30STP = 5 AND SMF30WID = 'JES2' AND SMF30TME > SMF30PPS /* SAME DAY */ AND SMF30PPS > 00:00 /* DID START*/ ************************************************** * SPECIFY REPORT TITLE ************************************************** TITLE: 'JES2 JOB STATISTICS' TITLE: 'FOR EACH QUARTER HOUR OF THE DAY' ************************************************** * COMPUTE SOME SPECIAL VALUES FOR THE REPORT ************************************************** COMPUTE: BEG_TIME = WHEN(SMF30RST <> 00:00) ASSIGN(SMF30RST) /*RDR */ ELSE ASSIGN(SMF30SIT) /*INIT*/ COMPUTE: TIME = WHEN(BEG_TIME < 00:15:00) ASSIGN('00:00') WHEN(BEG_TIME < 00:30:00) ASSIGN('00:15') WHEN(BEG_TIME < 00:45:00) ASSIGN('00:30') WHEN(BEG_TIME < 01:00:00) ASSIGN('00:45') WHEN(BEG_TIME < 01:15:00) ASSIGN('01:00') WHEN(BEG_TIME < 01:30:00) ASSIGN('01:15') WHEN(BEG_TIME < 01:45:00) ASSIGN('01:30') WHEN(BEG_TIME < 02:00:00) ASSIGN('01:45') WHEN(BEG_TIME < 02:15:00) ASSIGN('02:00') WHEN(BEG_TIME < 02:30:00) ASSIGN('02:15') WHEN(BEG_TIME < 02:45:00) ASSIGN('02:30') WHEN(BEG_TIME < 03:00:00) ASSIGN('02:45') WHEN(BEG_TIME < 03:15:00) ASSIGN('03:00') WHEN(BEG_TIME < 03:30:00) ASSIGN('03:15') WHEN(BEG_TIME < 03:45:00) ASSIGN('03:30') WHEN(BEG_TIME < 04:00:00) ASSIGN('03:45') WHEN(BEG_TIME < 04:15:00) ASSIGN('04:00') WHEN(BEG_TIME < 04:30:00) ASSIGN('04:15') WHEN(BEG_TIME < 04:45:00) ASSIGN('04:30') WHEN(BEG_TIME < 05:00:00) ASSIGN('04:45') WHEN(BEG_TIME < 05:15:00) ASSIGN('05:00') WHEN(BEG_TIME < 05:30:00) ASSIGN('05:15') WHEN(BEG_TIME < 05:45:00) ASSIGN('05:30') WHEN(BEG_TIME < 06:00:00) ASSIGN('05:45') WHEN(BEG_TIME < 06:15:00) ASSIGN('05:00') WHEN(BEG_TIME < 06:30:00) ASSIGN('06:15') WHEN(BEG_TIME < 06:45:00) ASSIGN('06:30') WHEN(BEG_TIME < 07:00:00) ASSIGN('06:45') WHEN(BEG_TIME < 07:15:00) ASSIGN('06:00') WHEN(BEG_TIME < 07:30:00) ASSIGN('07:15') WHEN(BEG_TIME < 07:45:00) ASSIGN('07:30') WHEN(BEG_TIME < 08:00:00) ASSIGN('07:45') WHEN(BEG_TIME < 08:15:00) ASSIGN('08:00') WHEN(BEG_TIME < 08:30:00) ASSIGN('08:15') WHEN(BEG_TIME < 08:45:00) ASSIGN('08:30') WHEN(BEG_TIME < 09:00:00) ASSIGN('08:45') WHEN(BEG_TIME < 09:15:00) ASSIGN('09:00') WHEN(BEG_TIME < 09:30:00) ASSIGN('09:15') WHEN(BEG_TIME < 09:45:00) ASSIGN('09:30') WHEN(BEG_TIME < 10:00:00) ASSIGN('09:45') WHEN(BEG_TIME < 10:15:00) ASSIGN('10:00') WHEN(BEG_TIME < 10:30:00) ASSIGN('10:15') WHEN(BEG_TIME < 10:45:00) ASSIGN('10:30') WHEN(BEG_TIME < 11:00:00) ASSIGN('10:45') WHEN(BEG_TIME < 11:15:00) ASSIGN('11:00') WHEN(BEG_TIME < 11:30:00) ASSIGN('11:15') WHEN(BEG_TIME < 11:45:00) ASSIGN('11:30') WHEN(BEG_TIME < 12:00:00) ASSIGN('11:45') WHEN(BEG_TIME < 12:15:00) ASSIGN('12:00') WHEN(BEG_TIME < 12:30:00) ASSIGN('12:15') WHEN(BEG_TIME < 12:45:00) ASSIGN('12:30') WHEN(BEG_TIME < 13:00:00) ASSIGN('12:45') WHEN(BEG_TIME < 13:15:00) ASSIGN('13:00') WHEN(BEG_TIME < 13:30:00) ASSIGN('13:15') WHEN(BEG_TIME < 13:45:00) ASSIGN('13:30') WHEN(BEG_TIME < 14:00:00) ASSIGN('13:45') WHEN(BEG_TIME < 14:15:00) ASSIGN('14:00') WHEN(BEG_TIME < 14:30:00) ASSIGN('14:15') WHEN(BEG_TIME < 14:45:00) ASSIGN('14:30') WHEN(BEG_TIME < 15:00:00) ASSIGN('14:45') WHEN(BEG_TIME < 15:15:00) ASSIGN('15:00') WHEN(BEG_TIME < 15:30:00) ASSIGN('15:15') WHEN(BEG_TIME < 15:45:00) ASSIGN('15:30') WHEN(BEG_TIME < 16:00:00) ASSIGN('15:45') WHEN(BEG_TIME < 16:15:00) ASSIGN('16:00') WHEN(BEG_TIME < 16:30:00) ASSIGN('16:15') WHEN(BEG_TIME < 16:45:00) ASSIGN('16:30') WHEN(BEG_TIME < 17:00:00) ASSIGN('16:45') WHEN(BEG_TIME < 17:15:00) ASSIGN('17:00') WHEN(BEG_TIME < 17:30:00) ASSIGN('17:15') WHEN(BEG_TIME < 17:45:00) ASSIGN('17:30') WHEN(BEG_TIME < 18:00:00) ASSIGN('17:45') WHEN(BEG_TIME < 18:15:00) ASSIGN('18:00') WHEN(BEG_TIME < 18:30:00) ASSIGN('18:15') WHEN(BEG_TIME < 18:45:00) ASSIGN('18:30') WHEN(BEG_TIME < 19:00:00) ASSIGN('18:45') WHEN(BEG_TIME < 19:15:00) ASSIGN('19:00') WHEN(BEG_TIME < 19:30:00) ASSIGN('19:15') WHEN(BEG_TIME < 19:45:00) ASSIGN('19:30') WHEN(BEG_TIME < 20:00:00) ASSIGN('19:45') WHEN(BEG_TIME < 20:15:00) ASSIGN('20:00') WHEN(BEG_TIME < 20:30:00) ASSIGN('20:15') WHEN(BEG_TIME < 20:45:00) ASSIGN('20:30') WHEN(BEG_TIME < 21:00:00) ASSIGN('20:45') WHEN(BEG_TIME < 21:15:00) ASSIGN('01:00') WHEN(BEG_TIME < 21:30:00) ASSIGN('21:15') WHEN(BEG_TIME < 21:45:00) ASSIGN('21:30') WHEN(BEG_TIME < 21:00:00) ASSIGN('21:45') WHEN(BEG_TIME < 22:15:00) ASSIGN('22:00') WHEN(BEG_TIME < 22:30:00) ASSIGN('22:15') WHEN(BEG_TIME < 22:45:00) ASSIGN('22:30') WHEN(BEG_TIME < 22:00:00) ASSIGN('22:45') WHEN(BEG_TIME < 23:15:00) ASSIGN('23:00') WHEN(BEG_TIME < 23:30:00) ASSIGN('23:15') WHEN(BEG_TIME < 23:45:00) ASSIGN('23:30') ELSE ASSIGN('23:45') COMPUTE: ELAPSED_TIME = #MKNUM(SMF30TME - SMF30PPS) COMPUTE: CPU_SECS = #MKNUM(SMF30CPT) COMPUTE: JOB_QUEUE_TIME(0) = SMF30JQT / 1024 COMPUTE: STORAGE_USED = SMF30PRV + SMF30SYS COMPUTE: TAPE_MOUNTS = SMF30PTM + SMF30TPR COMPUTE: PAGE_SWAPS = SMF30PGI + SMF30PGO COMPUTE: JOB_COUNT = 1 ************************************************** * SPECIFY WHICH SMF FIELDS TO SHOW IN RPT COLUMNS * WE ALSO OVERIDE SOME COLUMN WIDTHS AND HEADINGS ************************************************** COLUMNS: TIME('JOB|BEGIN|TIME') JOB_COUNT(5) CPU_SECS('AVG|CPU|TIME|(SECS)' 9) CPU_SECS('MAX|CPU|TIME|(SECS)' 9) ELAPSED_TIME('AVG|ELAPSED|TIME|(SECS)' 9) ELAPSED_TIME('MAX|ELAPSED|TIME|(SECS)' 9) JOB_QUEUE_TIME('AVG|SECS|IN JOB|QUEUE' 7) STORAGE_USED('AVG|STORAGE|PER JOB|(K''S)' 7) TAPE_MOUNTS('AVG NUM|TAPE|MOUNTS' 7) PAGE_SWAPS('AVG NUM|PAGE|SWAPS' 7) ************************************************** * SUMMARIZE BY TIME SLOT ************************************************** SORT: TIME BREAK: TIME NOTOTALS FOOTING( TIME JOB_COUNT(TOTAL 5) CPU_SECS(AVG 9) CPU_SECS(MAX 9) ELAPSED_TIME(AVG 9) ELAPSED_TIME(MAX 9) JOB_QUEUE_TIME(AVG 7) STORAGE_USED(AVG 7) TAPE_MOUNTS(AVG 7) PAGE_SWAPS(AVG 7) ) BREAK: #GRAND NOTOTALS FOOTING( '*ALL*' JOB_COUNT(TOTAL 5) CPU_SECS(AVG 9) CPU_SECS(MAX 9) ELAPSED_TIME(AVG 9) ELAPSED_TIME(MAX 9) JOB_QUEUE_TIME(AVG 7) STORAGE_USED(AVG 7) TAPE_MOUNTS(AVG 7) PAGE_SWAPS(AVG 7) )
Produce This SMF Report:JES2 JOB STATISTICS FOR EACH QUARTER HOUR OF THE DAY AVG MAX AVG MAX AVG AVG JOB CPU CPU ELAPSED ELAPSED SECS STORAGE AVG NUM AVG NUM BEGIN JOB TIME TIME TIME TIME IN JOB PER JOB TAPE PAGE TIME COUNT (SECS) (SECS) (SECS) (SECS) QUEUE (K'S) MOUNTS SWAPS _____ _____ _________ _________ _________ _________ _______ _______ _______ _______ 05:00 4 7.92 30.85 0.21 0.39 0 2,364 2 0 05:45 1 9.13 9.13 15.35 15.35 0 1,596 13 0 06:15 1 0.65 0.65 14.80 14.80 0 2,668 2 0 11:45 1 0.04 0.04 12.61 12.61 0 504 0 0 12:00 34 0.11 0.77 14.47 26.71 0 1,037 0 0 12:15 41 0.09 0.60 14.44 20.94 0 967 0 0 12:45 2 0.02 0.02 0.40 0.55 1 936 0 0 17:30 6 0.34 1.71 1.86 7.91 0 846 0 0 20:15 3 0.01 0.01 0.17 0.23 0 727 0 0 20:30 1 0.23 0.23 0.94 0.94 0 864 0 0 21:15 1 0.00 0.00 0.16 0.16 0 312 0 0 21:30 8 0.02 0.02 4.06 6.66 0 635 0 0 23:00 3 0.99 1.49 4.15 6.15 1 703 0 0 23:15 2 0.03 0.03 0.73 1.22 0 968 0 0 23:30 2 0.03 0.04 0.66 1.05 1 1,018 0 0 23:45 2 0.04 0.04 1.21 1.50 0 1,272 0 0 *ALL* 112 0.49 30.85 10.64 26.71 0 1,010 0 0
| ||||||||||||||||||||||||||||||||||||||||
Copyright 2024.
Pacific Systems Group. All rights reserved. |
Home |
Products |
Prices |
Documentation |
30-Day Trials |
Customer Reviews |
Company
| FAQ
| Sample Reports
| SMF Records
|