SMF Type 115 Record
This table shows the record layout for type 115 SMF records
(WebSphere MQ Performance Statistics (V6.0)).
List of other SMF record layouts available.
List of sample SMF reports.
Purpose: WebSphere MQ performance statistics are written as SMF type 115 records. Statistics records are produced periodically at a time interval specified by the STATIME parameter of the CSQ6SYSP system parameter module, or at the SMF global accounting interval if you specify zero for STATIME.
The information provided in the SMF records comes from the following components of WebSphere MQ:
- Buffer manager Manages the buffer pools in virtual storage and the writing of pages to page sets as the buffer pools become full. Also manages the reading of pages from page sets.
- Coupling Facility manager Manages the interface with the Coupling Facility.
- Data manager Manages the links between messages and queues. It calls the buffer manager to process the pages with messages on them.
- DB2 manager Manages the interface with the DB2 database that is used as the shared repository.
- Lock manager Manages locks for WebSphere MQ for z/OS.
- Log manager Manages the writing of log records, which are essential for maintaining the integrity of the system if there is a back out request, or for recovery, if there is a system or media failure.
- Message manager Processes all WebSphere MQ API requests.
- Storage manager Manages storage for WebSphere MQ for z/OS, for example, storage pool allocation, expansion, and deallocation.
WebSphere MQ statistics can be collected for two subtypes:
1 System information, for example, related to the logs and storage.
2 Information about number of messages, buffer and paging information. Queue-sharing group information related to the Coupling Facility and DB2.
It's easy to report on SMF 115 data! (Jump to sample reports) | |
Spectrum SMF Writer handles the difficult SMF record parsing for you automatically. You just specify which fields you want to see. Spectrum SMF Writer also converts the arcane date and time fields and reformats them into an attractive report. Plus, Spectrum SMF Writer can export SMF data as comma delimited files to use on your PC.
|
The Spectrum Writer definitions for the SMF type 115 record below are based on the description provided by IBM in its "MVS Systems Management Facilities (SMF)" manual and/or DSECTs mapped by its Assembler macros.
 
File Definition for Type 115 SMF Records WebSphere MQ Performance Statistics (V6.0)
*********************************************************************** * SPECTRUM SMF WRITER -- FILE DEFINITION STATEMENTS * * SMF TYPE 115 RECORD - "WEBSPHERE MQ PERFORMANCE STATISTICS (V6.0)" * *********************************************************************** OPTION: MISSOFFSET /* TREAT OFFSET ERRORS (99999) LIKE MISSING DATA */ OPTION: STCKADJ(0) /* NO GMT TO LOCAL CONVERSION - DURATIONS*/ ******************************************************************* * SMF COMMON HEADER MAPPING MACRO FOR STATISTICS TYPE 100 ******************************************************************* * FLD: SMF115LEN LEN(2) DISP(0) /*SMF115 TOTAL LENGTH*/ FLD: SMF115SGD LEN(2) DISP(2) /*RESERVED*/ FLD: SMF115FLG LEN(1) DISP(4) /*SYSTEM INDICATOR*/ FLD: SMF115RTY LEN(1) TYPE(BIN) ACC(NO) DISP(5) /*The SMF record type, for WebSphere MQ*/ * statistics records this is always * 115 (X'73'). FLD: SMF115TME LEN(4) TYPE(B-SECS) DISP(6) DEC(2) /*TIME SMF MOVED RECORD*/ FLD: SMF115DTE TYPE(P-CYYDDD) DISP(10) /*DATE SMF MOVED RECORD*/ FLD: SMF115SID LEN(4) DISP(14) /*z/OS subsystem ID. Defines the z/OS*/ * subsystem on which the records were * collected. (EX: MV41) FLD: SMF115SSI LEN(4) DISP(18) /*WebSphere MQ subsystem ID. (EX: MQ07)*/ FLD: SMF115STF TYPE(HALF) DISP(22)/*RECORD SUBTYPE*/ FLD: SMF115RI LEN(3) DISP(24) /*WebSphere MQ version. (EX: 600)*/ FLD: SMF115SEQ LEN(1) DISP(27) /*RESERVED*/ FLD: SMF115SD LEN(1) DISP(28) /*self defining section starts*/ * *** ***The following 18 fields are only included with subtype 2 FLD: SMF115_QMSTO LEN(4) TYPE(BIN) DISP(36) /*Offset to QMST message manager record section.*/ FLD: SMF115_QMSTL TYPE(HALF) DISP(40) /*Length of QMST message manager record section.*/ FLD: SMF115_QMSTN TYPE(HALF) DISP(42) /*Number of QMST message manager record sections.*/ FLD: SMF115_QISTO LEN(4) TYPE(BIN) DISP(44) /*Offset to QIST data manager record section.*/ FLD: SMF115_QISTL TYPE(HALF) DISP(48) /*Length of QIST data manager record section.*/ FLD: SMF115_QISTN TYPE(HALF) DISP(50) /*Number of QIST data manager record sections.*/ FLD: SMF115_QPSTO LEN(4) TYPE(BIN) DISP(52) /*Offset to QPST buffer manager record section.*/ FLD: SMF115_QPSTL TYPE(HALF) DISP(56) /*Length of QPST buffer manager record section.*/ FLD: SMF115_QPSTN TYPE(HALF) DISP(58) /*Number of QPST buffer manager record sections*/ * one for each buffer pool. FLD: SMF115_QLSTO LEN(4) TYPE(BIN) DISP(60) /*Offset to QLST lock manager record section.*/ FLD: SMF115_QLSTL TYPE(HALF) DISP(64) /*Length of QLST lock manager record section.*/ FLD: SMF115_QLSTN TYPE(HALF) DISP(66) /*Number of QLST lock manager record sections.*/ FLD: SMF115_Q5STO LEN(4) TYPE(BIN) DISP(68) /*Offset to Q5ST DB2 manager record section.*/ FLD: SMF115_Q5STL TYPE(HALF) DISP(72) /*Length of Q5ST DB2 manager record section.*/ FLD: SMF115_Q5STN TYPE(HALF) DISP(74) /*Number of Q5ST DB2 manager record sections.*/ FLD: SMF115_QESTO LEN(4) TYPE(BIN) DISP(76) /*Offset to QEST coupling manager record section.*/ FLD: SMF115_QESTL TYPE(HALF) DISP(80) /*Length of QEST coupling manager record section.*/ FLD: SMF115_QESTN TYPE(HALF) DISP(82) /*Number of QEST coupling manager record sections.*/ *** ***The following 6 fields are only included with subtype 1 FLD: SMF115_QSSTO LEN(4) TYPE(BIN) DISP(100) /*Offset to QSST storage manager record section.*/ FLD: SMF115_QSSTL TYPE(HALF) DISP(104) /*Length of QSST storage manager record section.*/ FLD: SMF115_QSSTN TYPE(HALF) DISP(106) /*Number of QSST storage manager record sections.*/ FLD: SMF115_QJSTO LEN(4) TYPE(BIN) DISP(116) /*Offset to QJST log manager record section.*/ FLD: SMF115_QJSTL TYPE(HALF) DISP(120) /*Length of QJST log manager record section.*/ FLD: SMF115_QJSTN TYPE(HALF) DISP(122) /*Number of QJST log manager record sections.*/ *********************************************************************** **** QSST DSECT , STORAGE MANAGER STATISTICS BLOCK *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF QSST, USE: * INPUT: SMF115 * NORMWHEN(SMF115RTY = 115 AND SMF115STF = 1 * AND SMF115_QSSTN > 0) * NORMALIZE(QSST, SMF115_QSSTN) *********************************************************************** COMP: QSST_OFFSET = WHEN(SMF115RTY = 115 AND SMF115STF = 1 AND SMF115_QSSTN > 0) ASSIGN(SMF115_QSSTO) ELSE ASSIGN(99999) FLD: QSST DISP(0) LEN(72) OFFSET(QSST_OFFSET) /*STORAGE MANAGER STATISTICS BLOCK*/ FLD: QSSTHEAD LEN(4) TYPE(BIN) DISP(0) /*CONTROL BLOCK HEADER*/ FLD: QSSTID LEN(2) DISP(0) /*CONTROL BLOCK ID*/ FLD: QSSTLEN TYPE(HALF) DISP(2) /*LENGTH OF CONTROL BLOCK*/ FLD: QSSTDESC LEN(4) DISP(4) /*EBCDIC EYE CATCHER*/ FLD: QSSTDATA LEN(4) TYPE(BIN) DISP(8) /*STATISTICAL COUNTERS*/ FLD: QSSTGPLF LEN(4) TYPE(BIN) DISP(8) /*FIXED POOLS CREATED*/ FLD: QSSTFPLF LEN(4) TYPE(BIN) DISP(12) /*FIXED POOLS DEALLOCATED*/ FLD: QSSTFREF LEN(4) TYPE(BIN) DISP(16) /*FIXED POOL SEGMENTS FREED*/ FLD: QSSTEXPF LEN(4) TYPE(BIN) DISP(20) /*FIXED POOL SEGMENTS EXPANDED*/ FLD: QSSTCONF LEN(4) TYPE(BIN) DISP(24) /*FIXED POOL SEGMENTS CONTRACTED*/ FLD: QSSTGPLV LEN(4) TYPE(BIN) DISP(28) /*VARIABLE POOLS CREATED*/ FLD: QSSTFPLV LEN(4) TYPE(BIN) DISP(32) /*VARIABLE POOLS DEALLOCATED*/ FLD: QSSTFREV LEN(4) TYPE(BIN) DISP(36) /*VARIABLE POOL SEGMENTS FREED*/ FLD: QSSTEXPV LEN(4) TYPE(BIN) DISP(40) /*VARIABLE POOL SEGMENTS EXPANDED*/ FLD: QSSTCONV LEN(4) TYPE(BIN) DISP(44) /*VARIABLE POOL SEGMENTS CONTRACTED*/ FLD: QSSTGETM LEN(4) TYPE(BIN) DISP(48) /*GETMAIN ISSUED TO ALLOCATE*/ * STORAGE OTHER THAN FIXED AND * VARIABLE BLOCKS FLD: QSSTFREM LEN(4) TYPE(BIN) DISP(52) /*FREEMAIN ISSUED TO DEALLOCATE*/ * STORAGE OTHER THAN FIXED AND * VARIABLE BLOCKS FLD: QSSTRCNZ LEN(4) TYPE(BIN) DISP(56) /*NONZERO RETURN CODES ISSUED*/ * BY GETMAIN/FREEMAIN FLD: QSSTCONT LEN(4) TYPE(BIN) DISP(60) /*CONTRACTIONS ISSUED FOR SHORT ON STORAGE*/ FLD: QSSTCRIT LEN(4) TYPE(BIN) DISP(64) /*SHORT ON STORAGE BIT SET*/ FLD: QSSTABND LEN(4) TYPE(BIN) DISP(68) /*ABEND ISSUED BECAUSE OF SHORT ON STORAGE*/ FLD: QSSTEND LEN(1) DISP(72) /*END OF CONTROL BLOCK*/ COMP: QSSTIDEN = X'003C' /*HEADER CONSTANT*/ COMP: QSSTEYEC = 'QSST' /*EYE CATCHER CONSTANT*/ *********************************************************************** **** QJST DSECT , Log Manager Statistics *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF QJST, USE: * INPUT: SMF115 * NORMWHEN(SMF115RTY = 115 AND SMF115STF = 1 * AND SMF115_QJSTN > 0) * NORMALIZE(QJST, SMF115_QJSTN) *********************************************************************** COMP: QJST_OFFSET = WHEN(SMF115RTY = 115 AND SMF115STF = 1 AND SMF115_QJSTN > 0) ASSIGN(SMF115_QJSTO) ELSE ASSIGN(99999) FLD: QJST DISP(0) LEN(120) OFFSET(QJST_OFFSET) /*Log Manager Statistics*/ FLD: QJSTID LEN(2) DISP(0) /*CONTROL BLOCK ID X'0093'*/ FLD: QJSTLL TYPE(HALF) DISP(2) /*LENGTH OF BLOCK*/ FLD: QJSTEID LEN(4) DISP(4) /*EBCDIC EYECATCHER*/ FLD: QJSTWRW LEN(4) TYPE(BIN) DISP(8) /*WRITE REQUEST COUNT, WAIT*/ FLD: QJSTWRNW LEN(4) TYPE(BIN) DISP(12) /*WRITE REQUEST COUNT, NOWAIT*/ FLD: QJSTWRF LEN(4) TYPE(BIN) DISP(16) /*WRITE REQUEST COUNT, FORCE*/ FLD: QJSTWTB LEN(4) TYPE(BIN) DISP(20) /*WAIT COUNT DUE TO UNAVAILABLE ACTIVE BUFFER*/ FLD: QJSTRBUF LEN(4) TYPE(BIN) DISP(24) /*LOG READS SATISFIED FROM OUTPUT BUFFERS*/ FLD: QJSTRACT LEN(4) TYPE(BIN) DISP(28) /*READS SATISFIED FROM ACTIVE LOG DATA SET*/ FLD: QJSTRARH LEN(4) TYPE(BIN) DISP(32) /*READS SATISFIED FROM ARCHIVE LOG DATA SET*/ FLD: QJSTTVC LEN(4) TYPE(BIN) DISP(36) /*NUMBER OF READ ACCESSES DELAYED DUE TO @D1C*/ * TAPE VOLUME CONTENTION FLD: QJSTBSDS LEN(4) TYPE(BIN) DISP(40) /*TOTAL BSDS ACCESS REQUESTS*/ FLD: QJSTBFFL LEN(4) TYPE(BIN) DISP(44) /*ACTIVE LOG OUTPUT CONTROL INTERVALS CREATED*/ FLD: QJSTBFWR LEN(4) TYPE(BIN) DISP(48) /*COUNT OF CALLS TO WRITE ACTIVE LOG BUFFERS*/ FLD: QJSTALR LEN(4) TYPE(BIN) DISP(52) /*ARCHIVE LOG READ ALLOCATIONS*/ FLD: QJSTALW LEN(4) TYPE(BIN) DISP(56) /*ARCHIVE LOG WRITE ALLOCATIONS*/ FLD: QJSTCIOF LEN(4) TYPE(BIN) DISP(60) /*COUNT OF CONTROL INTERVALS*/ FLD: QJSTLLCP LEN(4) TYPE(BIN) DISP(64) /*COUNT OF CHECKPOINTS ISSUED*/ FLD: QJSTWUR LEN(4) TYPE(BIN) DISP(68) /*NUMBER OF READ ACCESSES DELAYED DUE TO*/ * UNAVAILABLE RESOURCE FLD: QJSTLAMA LEN(4) TYPE(BIN) DISP(72) /*NUMBER OF LOOK AHEAD TAPE VOLUME MOUNTS*/ * ATTEMPTED. THIS FIELD ALONG WITH FIELD * QJSTLAMS, WILL SHOW HOW MANY TIMES LOOK- * AHEAD MOUNTING FAILED, THUS NEGATING * POTENTIAL SIGNIFICANT PERFORMANCE GAINS. FLD: QJSTLAMS LEN(4) TYPE(BIN) DISP(76) /*NUMBER OF LOOK AHEAD TAPE VOLUME MOUNTS*/ * PERFORMED. FLD: QJSTLSUS LEN(4) TYPE(BIN) DISP(80) /*NUMBER OF TIMES A LOG REQUEST RESULTED IN*/ * A SUSPEND FOR A LOG WRITE TO OCCUR. FLD: QJSTLOGW LEN(4) TYPE(BIN) DISP(84) /*TOTAL NUMBER OF LOG WRITE I/O REQUESTS.*/ FLD: QJSTCIWR LEN(4) TYPE(BIN) DISP(88) /*TOTAL NUMBER OF LOG CI S WRITTEN.*/ FLD: QJSTSERW LEN(4) TYPE(BIN) DISP(92) /*NUMBER OF SERIAL LOG WRITE REQUESTS FOR*/ * CI RE-WRITES WHEN DUAL LOGGING. FLD: QJSTTHRW LEN(4) TYPE(BIN) DISP(96) /*NUMBER OF TIMES A LOG WRITE REQUEST WAS*/ * SCHEDULED BECAUSE THE LOG WRITE THRESHOLD * WAS REACHED. FLD: QJSTBPAG LEN(4) TYPE(BIN) DISP(100) /*NUMBER OF TIMES A LOG WRITE BUFFER HAD TO*/ * BE PAGED-IN BEFORE IT COULD BE USED. FLD: QJSTEND LEN(4) TYPE(BIN) DISP(120) *********************************************************************** **** QMST DSECT , Message Manager Statistics *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF QMST, USE: * INPUT: SMF115 * NORMWHEN(SMF115RTY = 115 AND SMF115STF = 2 * AND SMF115_QMSTN > 0) * NORMALIZE(QMST, SMF115_QMSTN) *********************************************************************** COMP: QMST_OFFSET = WHEN(SMF115RTY = 115 AND SMF115STF = 2 AND SMF115_QMSTN > 0) ASSIGN(SMF115_QMSTO) ELSE ASSIGN(99999) FLD: QMST DISP(0) LEN(48) OFFSET(QMST_OFFSET) /*Message Manager Statistics*/ FLD: QMSTID LEN(2) DISP(0) /*Control block identifier*/ COMP: QMSTIDV = X'D40F' /*Control block identifier value*/ FLD: QMSTLL LEN(2) TYPE(BIN) DISP(2) /*length of QMST block*/ FLD: QMSTEYEC LEN(4) DISP(4) /*eyecatcher*/ FLD: QMSTOPEN LEN(4) TYPE(BIN) DISP(8) /*# of MQOPEN requests*/ FLD: QMSTCLOS LEN(4) TYPE(BIN) DISP(12) /*# of MQCLOSE requests*/ FLD: QMSTGET LEN(4) TYPE(BIN) DISP(16) /*# of MQGET requests*/ FLD: QMSTPUT LEN(4) TYPE(BIN) DISP(20) /*# of MQPUT requests*/ FLD: QMSTPUT1 LEN(4) TYPE(BIN) DISP(24) /*# of MQPUT1 requests*/ FLD: QMSTINQ LEN(4) TYPE(BIN) DISP(28) /*# of MQINQ requests*/ FLD: QMSTINQL LEN(4) TYPE(BIN) DISP(32) /*Reserved*/ FLD: QMSTSET LEN(4) TYPE(BIN) DISP(36) /*# of MQSET requests*/ FLD: QMSTENDW LEN(4) TYPE(BIN) DISP(40) /*Reserved*/ FLD: QMSTCALH LEN(4) TYPE(BIN) DISP(44) /*# of Close All Handles reqs*/ *********************************************************************** **** QIST DSECT , Data Manager statistics *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF QIST, USE: * INPUT: SMF115 * NORMWHEN(SMF115RTY = 115 AND SMF115STF = 2 * AND SMF115_QISTN > 0) * NORMALIZE(QIST, SMF115_QISTN) *********************************************************************** COMP: QIST_OFFSET = WHEN(SMF115RTY = 115 AND SMF115STF = 2 AND SMF115_QISTN > 0) ASSIGN(SMF115_QISTO) ELSE ASSIGN(99999) FLD: QIST DISP(0) LEN(80) OFFSET(QIST_OFFSET) /*Data Manager statistics*/ FLD: QISTID LEN(2) DISP(0) /*Control block ID*/ COMP: QISTIDV = X'C90F' /*Control block ID value*/ FLD: QISTLL LEN(2) TYPE(BIN) DISP(2) /*Length of control block*/ FLD: QISTEYEC LEN(4) DISP(4) /*Control block eyecatcher*/ FLD: QISTMGET LEN(4) TYPE(BIN) DISP(8) /*# of Message Get requests*/ FLD: QISTMPUT LEN(4) TYPE(BIN) DISP(12) /*# of Message Put requests*/ FLD: QISTMBLR LEN(4) TYPE(BIN) DISP(16) /*# of Release Browse Lock requests*/ FLD: QISTDCRE LEN(4) TYPE(BIN) DISP(20) /*# of Object Create requests*/ FLD: QISTDPUT LEN(4) TYPE(BIN) DISP(24) /*# of Object Put requests*/ FLD: QISTDDEL LEN(4) TYPE(BIN) DISP(28) /*# of Object Delete requests*/ FLD: QISTDGET LEN(4) TYPE(BIN) DISP(32) /*# of Object Get requests*/ FLD: QISTDLOC LEN(4) TYPE(BIN) DISP(36) /*# of Object Locate requests*/ FLD: QISTMCNT LEN(4) TYPE(BIN) DISP(40) /*# of Message Count requests*/ FLD: QISTALST LEN(4) TYPE(BIN) DISP(44) /*# of Stgclass change requests*/ FLD: QISTLOMM LEN(4) TYPE(BIN) DISP(48) /*# of Lock Marked Msg requests*/ FLD: QISTDLMM LEN(4) TYPE(BIN) DISP(52) /*# of Delete Marked Msg requests*/ FLD: QISTENUM LEN(4) TYPE(BIN) DISP(56) /*# of Enumerate/select requests*/ FLD: QISTRAIO LEN(4) TYPE(BIN) DISP(60) /*# of Read aheads doing I/O*/ FLD: QISTRABP LEN(4) TYPE(BIN) DISP(64) /*# of Read aheads from Buff Pool*/ FLD: QISTGETD LEN(4) TYPE(BIN) DISP(68) /*# of Gets that got msg off disk*/ FLD: QISTGETB LEN(4) TYPE(BIN) DISP(72) /*# of Gets that got msg from BP*/ *********************************************************************** **** QPST DSECT , Buffer Manager Pool statistics *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF QPST, USE: * INPUT: SMF115 * NORMWHEN(SMF115RTY = 115 AND SMF115STF = 2 * AND SMF115_QPSTN > 0) * NORMALIZE(QPST, SMF115_QPSTN) *********************************************************************** COMP: QPST_OFFSET = WHEN(SMF115RTY = 115 AND SMF115STF = 2 AND SMF115_QPSTN > 0) ASSIGN(SMF115_QPSTO) ELSE ASSIGN(99999) FLD: QPST DISP(0) LEN(104) OFFSET(QPST_OFFSET) /*Buffer Manager Pool statistics*/ FLD: QPSTID LEN(2) DISP(0) /*Control block ID*/ COMP: QPSTIDV = X'D70F' /*Control block ID value*/ FLD: QPSTLL LEN(2) TYPE(BIN) DISP(2) /*Length of control block*/ FLD: QPSTEYEC LEN(4) DISP(4) /*Control block eyecatcher*/ FLD: QPSTPOOL LEN(4) TYPE(BIN) DISP(8) /*Buffer Pool Number*/ FLD: QPSTNBUF LEN(4) TYPE(BIN) DISP(12) /*# of buffers in pool*/ FLD: QPSTCBSL LEN(4) TYPE(BIN) DISP(16) /*Lowest # of stealable buffers*/ FLD: QPSTCBS LEN(4) TYPE(BIN) DISP(20) /*# of stealable buffers*/ FLD: QPSTGETP LEN(4) TYPE(BIN) DISP(24) /*# of Get Page (old) requests*/ FLD: QPSTGETN LEN(4) TYPE(BIN) DISP(28) /*# of Get Page (new) requests*/ FLD: QPSTRIO LEN(4) TYPE(BIN) DISP(32) /*# of DASD read operations*/ FLD: QPSTSTW LEN(4) TYPE(BIN) DISP(36) /*# of Set Write Intent requests*/ FLD: QPSTTPW LEN(4) TYPE(BIN) DISP(40) /*# of pages written to DASD*/ FLD: QPSTWIO LEN(4) TYPE(BIN) DISP(44) /*# of DASD write operations*/ FLD: QPSTIMW LEN(4) TYPE(BIN) DISP(48) /*# of synchronous write operations*/ FLD: QPSTDWT LEN(4) TYPE(BIN) DISP(52) /*# of times deferred write threshold X*/ FLD: QPSTDMC LEN(4) TYPE(BIN) DISP(56) /*# of times synchronous write X*/ FLD: QPSTSTL LEN(4) TYPE(BIN) DISP(60) /*# of buffer steals*/ FLD: QPSTSTLA LEN(4) TYPE(BIN) DISP(64) /*# of times hash chain modified X*/ FLD: QPSTSOS LEN(4) TYPE(BIN) DISP(68) /*# times suspended for no stealable X*/ *********************************************************************** **** QLST DSECT , Lock Manager statistics *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF QLST, USE: * INPUT: SMF115 * NORMWHEN(SMF115RTY = 115 AND SMF115STF = 2 * AND SMF115_QLSTN > 0) * NORMALIZE(QLST, SMF115_QLSTN) *********************************************************************** COMP: QLST_OFFSET = WHEN(SMF115RTY = 115 AND SMF115STF = 2 AND SMF115_QLSTN > 0) ASSIGN(SMF115_QLSTO) ELSE ASSIGN(99999) FLD: QLST DISP(0) LEN(32) OFFSET(QLST_OFFSET) /*Lock Manager statistics*/ FLD: QLSTID LEN(2) DISP(0) /*Control block id*/ COMP: QLSTIDV = X'D30F' /*Control block ID value*/ FLD: QLSTLL LEN(2) TYPE(BIN) DISP(2) /*Control block length*/ FLD: QLSTEYEC LEN(4) DISP(4) /*Eyecatcher*/ FLD: QLSTGETL LEN(4) TYPE(BIN) DISP(8) /*# of GET LOCK requests*/ FLD: QLSTHLDL LEN(4) TYPE(BIN) DISP(12) /*# of times requested lock held*/ FLD: QLSTRELL LEN(4) TYPE(BIN) DISP(16) /*# of RELEASE LOCK requests*/ *********************************************************************** **** Q5ST DSECT , DB2 Manager Statistics *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF Q5ST, USE: * INPUT: SMF115 * NORMWHEN(SMF115RTY = 115 AND SMF115STF = 2 * AND SMF115_Q5STN > 0) * NORMALIZE(Q5ST, SMF115_Q5STN) *********************************************************************** COMP: Q5ST_OFFSET = WHEN(SMF115RTY = 115 AND SMF115STF = 2 AND SMF115_Q5STN > 0) ASSIGN(SMF115_Q5STO) ELSE ASSIGN(99999) FLD: Q5ST DISP(0) LEN(480) OFFSET(Q5ST_OFFSET) /*DB2 Manager Statistics*/ FLD: Q5STID LEN(2) DISP(0) /*Control block identifier*/ COMP: Q5STIDV = X'F50F' /*Control block identifier value*/ FLD: Q5STLL LEN(2) TYPE(BIN) DISP(2) /*length of Q5ST block*/ FLD: Q5STEYEC LEN(4) DISP(4) /*eyecatcher*/ * FLD: NUMTASK LEN(4) TYPE(BIN) DISP(8) /*# of server tasks*/ FLD: ACTTASK LEN(4) TYPE(BIN) DISP(12) /*# of active server tasks*/ FLD: CONNCNT LEN(4) TYPE(BIN) DISP(16) /*# of connect requests*/ FLD: DISCCNT LEN(4) TYPE(BIN) DISP(20) /*# of disconnect requests*/ FLD: DHIGMAX LEN(4) TYPE(BIN) DISP(24) /*Max. request queue depth*/ FLD: ABNDCNT LEN(4) TYPE(BIN) DISP(28) /*# of DB2SRV task abends*/ FLD: REQUCNT LEN(4) TYPE(BIN) DISP(32) /*# of request requeues*/ FLD: DEADCNT LEN(4) TYPE(BIN) DISP(36) /*# of deadlock timeouts*/ * FLD: DELECNT LEN(4) TYPE(BIN) DISP(40) /*# of delete requests*/ FLD: LISTCNT LEN(4) TYPE(BIN) DISP(44) /*# of list requests*/ FLD: READCNT LEN(4) TYPE(BIN) DISP(48) /*# of read requests*/ FLD: UPDTCNT LEN(4) TYPE(BIN) DISP(52) /*# of update requests*/ FLD: WRITCNT LEN(4) TYPE(BIN) DISP(56) /*# of write requests*/ FLD: SCSSEL LEN(4) TYPE(BIN) DISP(60) /*SCST selects Shared Ch. status*/ FLD: SCSINS LEN(4) TYPE(BIN) DISP(64) /*SCST inserts Shared Ch. status*/ FLD: SCSUPD LEN(4) TYPE(BIN) DISP(68) /*SCST updates Shared Ch. status*/ FLD: SCSDEL LEN(4) TYPE(BIN) DISP(72) /*SCST deletes Shared Ch. status*/ FLD: SSKSEL LEN(4) TYPE(BIN) DISP(76) /*SSKT selects Shared sync. key*/ FLD: SSKINS LEN(4) TYPE(BIN) DISP(80) /*SSKT inserts Shared sync. key*/ FLD: SSKDEL LEN(4) TYPE(BIN) DISP(84) /*SSKT deletes Shared sync. key*/ FLD: SCSBFTS LEN(4) TYPE(BIN) DISP(88) /*SCST # of times buffer too small*/ FLD: SCSMAXR LEN(4) TYPE(BIN) DISP(92) /*SCST maximum rows on query*/ FLD: DELETCUW TYPE(STCKTIME) DISP(104) /*Cumulative STCK diff Thread delete*/ FLD: DELETMXW TYPE(STCKTIME) DISP(112) /*Maximum STCK diff Thread delete*/ FLD: DELESCUW TYPE(STCKTIME) DISP(120) /*Cumulative STCK diff SQL delete*/ FLD: DELESMXW TYPE(STCKTIME) DISP(128) /*Maximum STCK diff SQL delete*/ FLD: LISTTCUW TYPE(STCKTIME) DISP(136) /*Cumulative STCK diff Thread list*/ FLD: LISTTMXW TYPE(STCKTIME) DISP(144) /*Maximum STCK diff Thread list*/ FLD: LISTSCUW TYPE(STCKTIME) DISP(152) /*Cumulative STCK diff SQL list*/ FLD: LISTSMXW TYPE(STCKTIME) DISP(160) /*Maximum STCK diff SQL list*/ FLD: READTCUW TYPE(STCKTIME) DISP(168) /*Cumulative STCK diff Thread read*/ FLD: READTMXW TYPE(STCKTIME) DISP(176) /*Maximum STCK diff Thread read*/ FLD: READSCUW TYPE(STCKTIME) DISP(184) /*Cumulative STCK diff SQL read*/ FLD: READSMXW TYPE(STCKTIME) DISP(192) /*Maximum STCK diff SQL read*/ FLD: UPDTTCUW TYPE(STCKTIME) DISP(200) /*Cumulative STCK diff Thread update*/ FLD: UPDTTMXW TYPE(STCKTIME) DISP(208) /*Maximum STCK diff Thread update*/ FLD: UPDTSCUW TYPE(STCKTIME) DISP(216) /*Cumulative STCK diff SQL update*/ FLD: UPDTSMXW TYPE(STCKTIME) DISP(224) /*Maximum STCK diff SQL update*/ FLD: WRITTCUW TYPE(STCKTIME) DISP(232) /*Cumulative STCK diff Thread write*/ FLD: WRITTMXW TYPE(STCKTIME) DISP(240) /*Maximum STCK diff Thread write*/ FLD: WRITSCUW TYPE(STCKTIME) DISP(248) /*Cumulative STCK diff SQL write*/ FLD: WRITSMXW TYPE(STCKTIME) DISP(256) /*Maximum STCK diff SQL write*/ FLD: SCSSTCUW TYPE(STCKTIME) DISP(264) /*Cumulative STCK diff Thread select*/ FLD: SCSSTMXW TYPE(STCKTIME) DISP(272) /*Maximum STCK diff Thread select*/ FLD: SCSSSCUW TYPE(STCKTIME) DISP(280) /*Cumulative STCK diff SQL select*/ FLD: SCSSSMXW TYPE(STCKTIME) DISP(288) /*Maximum STCK diff SQL select*/ FLD: SCSITCUW TYPE(STCKTIME) DISP(296) /*Cumulative STCK diff Thread insert*/ FLD: SCSITMXW TYPE(STCKTIME) DISP(304) /*Maximum STCK diff Thread insert*/ FLD: SCSISCUW TYPE(STCKTIME) DISP(312) /*Cumulative STCK diff SQL insert*/ FLD: SCSISMXW TYPE(STCKTIME) DISP(320) /*Maximum STCK diff SQL insert*/ FLD: SCSUTCUW TYPE(STCKTIME) DISP(328) /*Cumulative STCK diff Thread update*/ FLD: SCSUTMXW TYPE(STCKTIME) DISP(336) /*Maximum STCK diff Thread update*/ FLD: SCSUSCUW TYPE(STCKTIME) DISP(344) /*Cumulative STCK diff SQL update*/ FLD: SCSUSMXW TYPE(STCKTIME) DISP(352) /*Maximum STCK diff SQL update*/ FLD: SCSDTCUW TYPE(STCKTIME) DISP(360) /*Cumulative STCK diff Thread delete*/ FLD: SCSDTMXW TYPE(STCKTIME) DISP(368) /*Maximum STCK diff Thread delete*/ FLD: SCSDSCUW TYPE(STCKTIME) DISP(376) /*Cumulative STCK diff SQL delete*/ FLD: SCSDSMXW TYPE(STCKTIME) DISP(384) /*Maximum STCK diff SQL delete*/ FLD: SSKSTCUW TYPE(STCKTIME) DISP(392) /*Cumulative STCK diff Thread select*/ FLD: SSKSTMXW TYPE(STCKTIME) DISP(400) /*Maximum STCK diff Thread select*/ FLD: SSKSSCUW TYPE(STCKTIME) DISP(408) /*Cumulative STCK diff SQL select*/ FLD: SSKSSMXW TYPE(STCKTIME) DISP(416) /*Maximum STCK diff SQL select*/ FLD: SSKITCUW TYPE(STCKTIME) DISP(424) /*Cumulative STCK diff Thread insert*/ FLD: SSKITMXW TYPE(STCKTIME) DISP(432) /*Maximum STCK diff Thread insert*/ FLD: SSKISCUW TYPE(STCKTIME) DISP(440) /*Cumulative STCK diff SQL insert*/ FLD: SSKISMXW TYPE(STCKTIME) DISP(448) /*Maximum STCK diff SQL insert*/ FLD: SSKDTCUW TYPE(STCKTIME) DISP(456) /*Cumulative STCK diff Thread delete*/ FLD: SSKDTMXW TYPE(STCKTIME) DISP(464) /*Maximum STCK diff Thread delete*/ FLD: SSKDSCUW TYPE(STCKTIME) DISP(472) /*Cumulative STCK diff SQL delete*/ FLD: SSKDSMXW TYPE(STCKTIME) DISP(480) /*Maximum STCK diff SQL delete*/ *********************************************************************** **** QEST DSECT , CF Manager Statistics *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF QEST, USE: * INPUT: SMF115 * NORMWHEN(SMF115RTY = 115 AND SMF115STF = 2 * AND SMF115_QESTN > 0) * NORMALIZE(QEST, SMF115_QESTN) *********************************************************************** COMP: QEST_OFFSET = WHEN(SMF115RTY = 115 AND SMF115STF = 2 AND SMF115_QESTN > 0) ASSIGN(SMF115_QESTO) ELSE ASSIGN(99999) FLD: QEST DISP(0) LEN(4104) OFFSET(QEST_OFFSET) /*CF Manager Statistics*/ FLD: QESTID LEN(2) DISP(0) /*Control block identifier*/ COMP: QESTIDV = X'C513' /*Control block identifier value*/ FLD: QESTLL LEN(2) TYPE(BIN) DISP(2) /*length of QEST block*/ FLD: QESTEYEC LEN(4) DISP(4) /*eyecatcher*/ FLD: QESTZERO LEN(8) DISP(8) FLD: QESTSTUC_ARRAY LEN(4096) DISP(8) /*Array of 64 elements (each 64 in size*/ *********************************************************************** **** QESTSTUC DSECT , Overlay the array *********************************************************************** *********************************************************************** * TO REPORT ON ALL OCCURRENCES OF QESTSTUC, USE: * INPUT: SMF115 * NORMWHEN(SMF115RTY = 115 AND SMF115STF = 2 * AND SMF115_QESTN > 0) * NORMALIZE(QESTSTUC, 64) *********************************************************************** COMP: QESTSTUC_OFFSET = WHEN(SMF115RTY = 115 AND SMF115STF = 2 AND SMF115_QESTN > 0) ASSIGN(SMF115_QESTO + 8) ELSE ASSIGN(99999) FLD: QESTSTUC DISP(0) LEN(64) OFFSET(QESTSTUC_OFFSET) /*Overlay the array*/ FLD: QESTSTR LEN(12) DISP(0) /*Structure name*/ FLD: QESTSTRN LEN(4) DISP(12) /*Structure number*/ FLD: QESTCSEC LEN(4) TYPE(BIN) DISP(16) /*Number of IXLLSTE calls*/ FLD: QESTCMEC LEN(4) TYPE(BIN) DISP(20) /*Number of IXLLSTM calls*/ FLD: QESTSSTC LEN(8) DISP(24) /*Time spent doing IXLLSTE Calls*/ FLD: QESTMSTC LEN(8) DISP(32) /*Time spent doing IXLLSTM calls*/ FLD: QESTRSEC LEN(4) TYPE(BIN) DISP(40) /*Number of IXLLSTE redrives*/ FLD: QESTRMEC LEN(4) TYPE(BIN) DISP(44) /*Number of IXLLSTM redrives*/ FLD: QESTSFUL LEN(4) TYPE(BIN) DISP(48) /*Number of structure fulls*/ FLD: QESTMNUS LEN(4) TYPE(BIN) DISP(52) /*Max number of entries in use*/ FLD: QESTMLUS LEN(4) TYPE(BIN) DISP(56) /*Max number of elements in use*/ FLD: SMF115_END LEN(1) OFFSET(0) |
 
  In this report, we read the SMF file and select just the type 115 subtype 2 Websphere MQ performance statistics records. (See SMF 115 record layout.) We use all of the the multiply recurring QPST (Buffer Pool Management) sections from each SMF record to show statistics for each subpool during the period just ended.
The statistics include number of buffer pools, number of stealable buffers, lowest number of stealable buffers during the period, actual number of buffer steals, number of get page old and get page new requests, count of DASD read and write ops, pages written to DASD, etc.
All of this with just a few lines of code!
Sample Report from SMF 115 Subtype 2 Records
Showing Statistics on Buffer Pool Management
The sample SMF report below was created with Spectrum SMF Writer,
the low-cost 4GL SMF report writer.
Why not install a Spectrum SMF Writer trial right now and start making your own SMF reports!
These Spectrum SMF Writer Statements:
INPUT: SMF115
NORMWHEN(SMF115RTY=115 AND SMF115STF=2 AND SMF115_QPSTN>0)
NORMALIZE(QPST_SECTION, SMF115_QPSTN)
INCLUDEIF: SMF115RTY = 115 AND SMF115STF = 2
COLUMNS:
SMF115SID('Z/OS|SUB|SYSTEM')
SMF115TME('PERIOD|ENDING' TPIC'Z9:99:99')
QPSTPOOL('BUFFER|POOL|NUMBER' 6)
QPSTNBUF('# OF|BUFFERS|IN POOL' 8)
QPSTCBSL('LOWEST|# OF|STEALABLE|BUFFERS' 9)
QPSTCBS('# OF|STEALABLE|BUFFERS' 9)
QPSTSTL('# OF|BUFFER|STEALS' 9)
QPSTGETP('# OF|GET PAGE|(OLD)|REQUESTS' 11)
QPSTGETN('# OF|GET PAGE|(NEW)|REQUESTS' 11)
QPSTRIO('# OF|DASD|READ|OPS' 6)
QPSTSTW('# OF|SET WRITE|INTENT|REQUESTS' 9)
QPSTTPW('# OF|PAGES|WRITTEN|TO DASD' 9)
QPSTWIO('# OF|DASD|WRITE|OPS' 6)
TITLE: 'SMF 115 - WEBSPHERE MQ PERFORMANCE REPORT'
TITLE: 'BUFFER POOL MANAGER STATISTICS'
Produce This SMF Report:
SMF 115 - WEBSPHERE MQ PERFORMANCE REPORT
BUFFER POOL MANAGER STATISTICS
LOWEST # OF # OF # OF # OF # OF # OF
Z/OS BUFFER # OF # OF # OF # OF GET PAGE GET PAGE DASD SET WRITE PAGES DASD
SUB PERIOD POOL BUFFERS STEALABLE STEALABLE BUFFER (OLD) (NEW) READ INTENT WRITTEN WRITE
SYSTEM ENDING NUMBER IN POOL BUFFERS BUFFERS STEALS REQUESTS REQUESTS OPS REQUESTS TO DASD OPS
______ ________ ______ ________ _________ _________ _________ ___________ ___________ ___________ ___________ _________ ______
ZSA 11:00:07 0 50,000 49,618 49,943 0 833,658 26,025 0 736,158 386 112
ZSA 11:00:07 1 20,000 17,424 18,457 0 1,318,813 507,094 0 1,016,252 2,518 689
ZSA 11:00:07 2 50,000 49,990 49,993 0 2,962 528 0 2,962 14 14
ZSA 11:00:07 3 20,000 19,830 19,885 0 198,242 5,373 0 56,514 144 41
ZSA 11:00:07 4 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:07 5 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:07 6 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:07 7 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:07 8 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:07 9 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:07 10 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:07 11 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:07 12 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:07 13 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:07 14 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:07 15 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:36 0 50,000 49,972 49,972 0 38 0 0 28 0 0
ZSA 11:00:36 1 20,000 19,999 19,999 0 0 0 0 0 0 0
ZSA 11:00:36 2 50,000 49,995 49,995 0 5 1 0 5 0 0
ZSA 11:00:36 3 20,000 19,992 19,992 0 20 4 0 20 0 0
ZSA 11:00:36 4 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:36 5 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:36 6 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:36 7 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:36 8 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:36 9 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:36 10 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:36 11 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:36 12 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:36 13 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:36 14 0 0 0 0 0 0 0 0 0 0
ZSA 11:00:36 15 0 0 0 0 0 0 0 0 0 0
ZSC 11:24:43 0 7,000 6,945 6,947 0 944,557 20,985 0 888,051 102 36
ZSC 11:24:43 1 5,000 4,997 4,997 0 12 0 0 12 12 12
ZSC 11:24:43 2 80,000 21,100 26,499 0 1,143,307 1,222,176 0 1,781,528 107,246 26,832
ZSC 11:24:43 3 5,000 4,871 4,917 3,699,704 226,849,650 22,659 3,698,301 179,207 230 66
ZSC 11:24:43 4 0 0 0 0 0 0 0 0 0 0
ZSC 11:24:43 5 0 0 0 0 0 0 0 0 0 0
ZSC 11:24:43 6 0 0 0 0 0 0 0 0 0 0
ZSC 11:24:43 7 0 0 0 0 0 0 0 0 0 0
ZSC 11:24:43 8 0 0 0 0 0 0 0 0 0 0
ZSC 11:24:43 9 0 0 0 0 0 0 0 0 0 0
ZSC 11:24:43 10 0 0 0 0 0 0 0 0 0 0
ZSC 11:24:43 11 0 0 0 0 0 0 0 0 0 0
ZSC 11:24:43 12 0 0 0 0 0 0 0 0 0 0
ZSC 11:24:43 13 0 0 0 0 0 0 0 0 0 0
ZSC 11:24:43 14 0 0 0 0 0 0 0 0 0 0
ZSC 11:24:43 15 0 0 0 0 0 0 0 0 0 0
*** GRAND TOTAL ( 48 ITEMS)
360 377,000 314,733 321,596 3,699,704 231,291,264 1,804,845 3,698,301 4,660,737 110,652 27,802