Re: EXCP Counts in SMF Exit
In 1480926979.8195705.1387049432028.javamail.r...@comcast.net, on 12/14/2013 at 07:30 PM, DASDBILL2 dasdbi...@comcast.net said: The SMF EXCP counting code counts all EXCPs but not necessarily all I/O requests. If your wayward job is using the STARTIO access method or the Media Manager to do its output I/O to tape, Isn't MM strictly DASD? BSAM, QSAM, BPAM, and BDAM all use EXCP BPAM, BSAM and QSAM for DASD have used EXCPVR since SAM-E. so all their I/Os are counted by SMF. Non sequitor. Even before SAM-E there was chained scheduling; the access methods update the SMF data to reflect multiple blocks written under a single EXCP[VR]. I don't know about VSAM. The same as with BPAM, BSAM and QSAM; the access method is responsible for updating the counts. For VSAM, of course, there are no EXCPs, just I/O through the MM. -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see http://patriot.net/~shmuel/resume/brief.html We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
Skip, Sorry for the delayed response (I am using the Summary 'Digest' notification here); a couple of general questions about your original note on this thread .. your note refers to using an 'exit' are you actually referring to an SMF IEFACTRT Step/Job Termination exit that gets control during step and job term to format the data in question or just an SMF Type 30 analysis program ??? In either case your exit needs to be able to handle (as noted previously) Chained SMF type 30 records and especially if you are interested in detailed EXCP data (each entry represents the counts and dev connect time for A DEVICE associated with each DD used in the reporting period) AND since there can be LOTS of them (more than can fit on a 32K byte record) this data can span multiple physical records. This is where the triplet (or in some cases the quadlet??) comes in as you reported on your original note. Specificity, SMF30EON is he number of EXCP sections on the CURRENT record and SMF30EOS (the additional/new 4 byte field) reports the number of EXCP sections on subsequent records. To see and process ALL the EXCP entries you MUST take into account BOTH numbers; and note that the first SMF Type 30 record might actually have '0' EXCP entries (SMF30EON) BUT there is EXCP data on the 'subsequent' records for the job/sytep (NON-ZERO SMF30EOS). Background: SMF 30 Record Structure: - Standard Header - Triplets Section (watch for Quads) - ID Section - FIXED Section-S (ie. Performance, etc) - Variable/Repeating Sections(s) . including EXCP (but there are others!) The 'first' SMF 30 record has all the section (but maybe not ALL variable) and the subsequent ONLY has 'Header', Triplets, ID section and needed variable sections. You have to IGNORE fixed (data) sections on 'chained' records because they don't exist (their 'number' triplet field is '0'). There are a number of possible reasons (specifics are not really important) that an SMF Type 30 first record has NO EXCP sections but does have EXCP entries on subsequent (ie. Chained records). Hope that helps clarify things a bit . as noted by other there are a multitude of ways to view/process this data post-real time to check this out. There are many SMF 30 processing functions/exits that do not totally handle this and can get weird results if not properly prepare when this event (ie. multiple 30's for an event) occurs!!! Bill IBM z/OS System Software development (Former SMF Component Owner) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
I didn't make clear in the original posting that this is an IEFACTRT component. I had thought in the beginning that the code was based 'AN OLD VERSION OF CODE NOW SUPPLIED IN SYS1.SAMPLIB(IEEACTRT)' (per a comment in the usermod) but scouring SAMPLIB for the particular lines in question yielded nothing. This code has worked for years through thick and thin, but we've never focused on this situation before, which for all I know has been happening forever. The tricky part is developing and testing for (what appears to be) a rare case. In the overwhelming majority of cases, EXCP counts show up in the first or only record section. BTW this exit component also prints out the BLKSIZE for each DDNAME. In an earlier post, I asked (then answered) how to find BLKSIZE 32K. That field is SMF30XBS in the same record segment. However, since SMF30XBS is XL8 rather than 4, the instruction also needed changing to pick up the low order 4 bytes: ICM R1,B'',SMF30XBS+4 MAX BLKSIZE (LOW ORDER BYTES) . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com From: William Richardson bi...@us.ibm.com To: IBM-MAIN@LISTSERV.UA.EDU, Date: 12/16/2013 10:22 AM Subject:Re: EXCP Counts in SMF Exit Sent by:IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU Skip, Sorry for the delayed response (I am using the Summary 'Digest' notification here); a couple of general questions about your original note on this thread .. your note refers to using an 'exit' are you actually referring to an SMF IEFACTRT Step/Job Termination exit that gets control during step and job term to format the data in question or just an SMF Type 30 analysis program ??? In either case your exit needs to be able to handle (as noted previously) Chained SMF type 30 records and especially if you are interested in detailed EXCP data (each entry represents the counts and dev connect time for A DEVICE associated with each DD used in the reporting period) AND since there can be LOTS of them (more than can fit on a 32K byte record) this data can span multiple physical records. This is where the triplet (or in some cases the quadlet??) comes in as you reported on your original note. Specificity, SMF30EON is he number of EXCP sections on the CURRENT record and SMF30EOS (the additional/new 4 byte field) reports the number of EXCP sections on subsequent records. To see and process ALL the EXCP entries you MUST take into account BOTH numbers; and note that the first SMF Type 30 record might actually have '0' EXCP entries (SMF30EON) BUT there is EXCP data on the 'subsequent' records for the job/sytep (NON-ZERO SMF30EOS). Background: SMF 30 Record Structure: - Standard Header - Triplets Section (watch for Quads) - ID Section - FIXED Section-S (ie. Performance, etc) - Variable/Repeating Sections(s) . including EXCP (but there are others!) The 'first' SMF 30 record has all the section (but maybe not ALL variable) and the subsequent ONLY has 'Header', Triplets, ID section and needed variable sections. You have to IGNORE fixed (data) sections on 'chained' records because they don't exist (their 'number' triplet field is '0'). There are a number of possible reasons (specifics are not really important) that an SMF Type 30 first record has NO EXCP sections but does have EXCP entries on subsequent (ie. Chained records). Hope that helps clarify things a bit . as noted by other there are a multitude of ways to view/process this data post-real time to check this out. There are many SMF 30 processing functions/exits that do not totally handle this and can get weird results if not properly prepare when this event (ie. multiple 30's for an event) occurs!!! Bill IBM z/OS System Software development (Former SMF Component Owner) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
At 14:31 -0800 on 12/16/2013, Skip Robinson wrote about Re: EXCP Counts in SMF Exit: The tricky part is developing and testing for (what appears to be) a rare case. In the overwhelming majority of cases, EXCP counts show up in the first or only record section. Suggestion - Find a case where you are not getting the EXCP counts printed (and thus probably are running into the EXCP counts in an overflow record situation) and dump the records for that job stream from the offloaded SMF records. Now just display the records and view their contents. This will show you what they contain and you can see what you should be looking for in your exit. If you want to go the QD route, you can write a program to just do that part of the processing using these records which you read from the file. Once you have the code working, just insert the processing code into the actual exit. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
SKIP: Carry over code is easy to just carry over without realizing you are carrying over bad code . It nice to sit back and think Done no more to worry about. I have done this myself. I was in a installation and found that the author just copied code and (from an old IPO no less) bing picked up bad ipo code. Its easy to say blame it on IBM when they did the copying. I have looked at a few IEFACTRT's over the years (from vendors and IPO's and etc etc) and I have learned a few tricks on how to do things. It still comes down to the sysprog not watching where they get the code and propagating code going forward. I got caught when SMF changed one of their exits and me not reading the FM. You learn from then on to read the FM on every release. And the boss doesn't understand why sometimes our heads are reading manuals all the time. Ed On Dec 16, 2013, at 4:31 PM, Skip Robinson wrote: I didn't make clear in the original posting that this is an IEFACTRT component. I had thought in the beginning that the code was based 'AN OLD VERSION OF CODE NOW SUPPLIED IN SYS1.SAMPLIB(IEEACTRT)' (per a comment in the usermod) but scouring SAMPLIB for the particular lines in question yielded nothing. This code has worked for years through thick and thin, but we've never focused on this situation before, which for all I know has been happening forever. The tricky part is developing and testing for (what appears to be) a rare case. In the overwhelming majority of cases, EXCP counts show up in the first or only record section. BTW this exit component also prints out the BLKSIZE for each DDNAME. In an earlier post, I asked (then answered) how to find BLKSIZE 32K. That field is SMF30XBS in the same record segment. However, since SMF30XBS is XL8 rather than 4, the instruction also needed changing to pick up the low order 4 bytes: ICM R1,B'',SMF30XBS+4 MAX BLKSIZE (LOW ORDER BYTES) . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com From: William Richardson bi...@us.ibm.com To: IBM-MAIN@LISTSERV.UA.EDU, Date: 12/16/2013 10:22 AM Subject:Re: EXCP Counts in SMF Exit Sent by:IBM Mainframe Discussion List IBM- m...@listserv.ua.edu Skip, Sorry for the delayed response (I am using the Summary 'Digest' notification here); a couple of general questions about your original note on this thread .. your note refers to using an 'exit' are you actually referring to an SMF IEFACTRT Step/Job Termination exit that gets control during step and job term to format the data in question or just an SMF Type 30 analysis program ??? In either case your exit needs to be able to handle (as noted previously) Chained SMF type 30 records and especially if you are interested in detailed EXCP data (each entry represents the counts and dev connect time for A DEVICE associated with each DD used in the reporting period) AND since there can be LOTS of them (more than can fit on a 32K byte record) this data can span multiple physical records. This is where the triplet (or in some cases the quadlet??) comes in as you reported on your original note. Specificity, SMF30EON is he number of EXCP sections on the CURRENT record and SMF30EOS (the additional/new 4 byte field) reports the number of EXCP sections on subsequent records. To see and process ALL the EXCP entries you MUST take into account BOTH numbers; and note that the first SMF Type 30 record might actually have '0' EXCP entries (SMF30EON) BUT there is EXCP data on the 'subsequent' records for the job/sytep (NON-ZERO SMF30EOS). Background: SMF 30 Record Structure: - Standard Header - Triplets Section (watch for Quads) - ID Section - FIXED Section-S (ie. Performance, etc) - Variable/Repeating Sections(s) . including EXCP (but there are others!) The 'first' SMF 30 record has all the section (but maybe not ALL variable) and the subsequent ONLY has 'Header', Triplets, ID section and needed variable sections. You have to IGNORE fixed (data) sections on 'chained' records because they don't exist (their 'number' triplet field is '0'). There are a number of possible reasons (specifics are not really important) that an SMF Type 30 first record has NO EXCP sections but does have EXCP entries on subsequent (ie. Chained records). Hope that helps clarify things a bit . as noted by other there are a multitude of ways to view/process this data post-real time to check this out. There are many SMF 30 processing functions/exits that do not totally handle this and can get weird results if not properly prepare when this event (ie. multiple 30's for an event) occurs!!! Bill IBM z/OS System Software development (Former SMF Component Owner) -- For IBM-MAIN subscribe
Re: EXCP Counts in SMF Exit
Guess the curiosity is why it suddenly popped up? Longer run times, batch window, whatever-probably wouldn't hurt to look at EREP for temp or perm errors on device and see if there are any data checks on the VOLSER. In a message dated 12/14/2013 6:21:51 P.M. Central Standard Time, charl...@mcn.org writes: Great idea. I played with Easy SMF once upon a time and found it very -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
Based on the step level summary, there are lots of EXCPs: + | --TIMINGS (MINS.)-- | JOBNAME STEPNAME PROCSTEPRC EXCP CONNTCBSRB CLOCK | CSSDCU01 CSSDCU01 STEP160 00 17820K 6089K 3.25.68 108.8 + '17820K' or 17,8 million of them. What's missing is device level detail, including simple 'vanilla' I/O like STEPLIB. Regardless of how the utility itself does I/O, STEPLIB is accessed by Fetch. At least that DDNAME should be available. . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com From: Mark Zelden m...@mzelden.com To: IBM-MAIN@LISTSERV.UA.EDU, Date: 12/14/2013 08:52 PM Subject:Re: EXCP Counts in SMF Exit Sent by:IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU On Sat, 14 Dec 2013 11:39:10 -0800, Skip Robinson jo.skip.robin...@sce.com wrote: Doesn't SDSF get the counts from SMF 30? Assuming so, have you tried monitoring via SDSF to see what it reports while the step is running? Mark -- Mark Zelden - Zelden Consulting Services - z/OS, OS/390 and MVS ITIL v3 Foundation Certified mailto:m...@mzelden.com Mark's MVS Utilities: http://www.mzelden.com/mvsutil.html Systems Programming expert at http://search390.techtarget.com/ateExperts/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
The SMF EXCP counting code counts all EXCPs but not necessarily all I/O requests. If your wayward job is using the STARTIO access method or the Media Manager to do its output I/O to tape, then its bazillions of I/O requests will never be accounted for in SMF data, but they will show up in RMF data for the device(s) involved. BSAM, QSAM, BPAM, and BDAM all use EXCP under the covers, so all their I/Os are counted by SMF. I don't know about VSAM. DB2 and IMS use Media Manager internally, which uses STARTIO internally, so their I/Os are not automatically counted in SMF. Bill Fairchild - Original Message - From: Skip Robinson jo.skip.robin...@sce.com To: IBM-MAIN@LISTSERV.UA.EDU Sent: Friday, December 13, 2013 5:36:43 PM Subject: EXCP Counts in SMF Exit We use an SMF exit modeled on SAMPLIB(SCEACTMS). For each step, it formats various stats in the job message log for every device used. It works well most of the time, but for a particular job in a particular where we really need to see some values, the crucial lines are totally missing. I've looked at the code and concluded that the only way we could be missing all device detail is if the field SMF30EON is zero. The job step in question does enormous I/O to tape. PUTMSG3B DS 0H EXCP COUNTS SLR R5,R5 GET COUNT OF ICM R5,B'0011',SMF30EON EXCP SECTIONS - BZ PUTMS3BX IF NONE, SKIP RTN - BAL R14,MSGRTN PUT BLANK LINE OUT MVC MSGAREA,LINE3B SET UP HEADER LINE BAL R14,MSGRTN PUT LINE OUT BAL R14,MSGRTN PUT BLANK LINE OUT LR R4,R9 GET RECORD ADDRESS A R4,SMF30EOF POINT TO ID SEGMENT USING SMF30EXP,R4 ENABLE RECORD DSECT EXCPLOOP DS 0H PRINT NON-ZERO EXCP COUNTS PUSH USING USING LINE3BD,R6 ENABLE DETAIL LINE DSECT ... I've searched the web and found some references even in IBM-Main to a 'triplet' that handles multiple EXCP sections. But I haven't found any example of how to utilize the additional fields. I suspect that the data I need is available to the exit, but I need some guidance. Offset SMF30EOF Length SMF30ELN Number SMF30EON - Reports the number of EXCP sections on the current record. This section also has additional control fields in the ‘header/self-defining’ section: SMF30EOS reports the number of EXCP sections for the current period on Subsequent Type 30 records. These are known as the ‘chained’ Type 30 records. SMF30EOR also reports this same information but is only a 2 byte field which can overflow so SMF30EOS is the preferred field for processing this data. . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
One way to know for sure what access method is being used is to get a GTF trace of at least one I/O request from your wayward job that you think should be counted. Turn on the IOSB option in GTF. You don't need to trace both SSCH and I/O interrupts; SSCH is probably enough. Find one trace record and look at the byte at IOSB driver ID byte. Sorry, but I don't remember its offset. I think it's 2. Look it up in the data areas to be sure. Check what IOS Driver did the I/O that was traced. If the IOSB driver id byte contains the value for an EXCP, then this I/O should and must have been presented to the SMF accounting routine. If it contains any other value, it will not automatically be presented to the SMF accounting routine as part of IOS processing, but the application program might have another way to account for it in SMF data. Bill Fairchilde - Original Message - From: Skip Robinson jo.skip.robin...@sce.com To: IBM-MAIN@LISTSERV.UA.EDU Sent: Friday, December 13, 2013 11:12:39 PM Subject: Re: EXCP Counts in SMF Exit Aha. We may be on to something. The problem step in the problem job executes IBM 'high performance unload' utility PGM=INZUTILB. The step unloads/backs up a large DB2 data base. The job has almost two dozen steps, but we're focused on this one in particular. It's the only step in the job that has no device stats in job messages. . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com From: Charles Mills charl...@mcn.org To: IBM-MAIN@LISTSERV.UA.EDU, Date: 12/13/2013 08:10 PM Subject: Re: EXCP Counts in SMF Exit Sent by: IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU A triplet consists of a 32-bit offset into the record, a 16-bit length, and a 16-bit repetition count. For DB2 it gets *really* complicated, but for Type 30, it should be fairly simple. Perhaps your repetition count is more than one? If so, there will be another data section at the end of the first one, that is, at record+displacement+length. I read the doc as saying there may be more than one section, that is, SMF30EON might be non-zero and greater than one. You may need a loop on SMF30EON. Let me know if you want more detail. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Skip Robinson Sent: Friday, December 13, 2013 3:37 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: EXCP Counts in SMF Exit We use an SMF exit modeled on SAMPLIB(SCEACTMS). For each step, it formats various stats in the job message log for every device used. It works well most of the time, but for a particular job in a particular where we really need to see some values, the crucial lines are totally missing. I've looked at the code and concluded that the only way we could be missing all device detail is if the field SMF30EON is zero. The job step in question does enormous I/O to tape. PUTMSG3B DS 0H EXCP COUNTS SLR R5,R5 GET COUNT OF ICM R5,B'0011',SMF30EON EXCP SECTIONS - BZ PUTMS3BX IF NONE, SKIP RTN - BAL R14,MSGRTN PUT BLANK LINE OUT MVC MSGAREA,LINE3B SET UP HEADER LINE BAL R14,MSGRTN PUT LINE OUT BAL R14,MSGRTN PUT BLANK LINE OUT LR R4,R9 GET RECORD ADDRESS A R4,SMF30EOF POINT TO ID SEGMENT USING SMF30EXP,R4 ENABLE RECORD DSECT EXCPLOOP DS 0H PRINT NON-ZERO EXCP COUNTS PUSH USING USING LINE3BD,R6 ENABLE DETAIL LINE DSECT ... I've searched the web and found some references even in IBM-Main to a 'triplet' that handles multiple EXCP sections. But I haven't found any example of how to utilize the additional fields. I suspect that the data I need is available to the exit, but I need some guidance. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
I have considered that I/O to the DB2 data base might be accounted for by DB2. Maybe even the tape I/O, but that seems a stretch. But the job also does I/O to conventional files like STEPLIB and SYSIN, which is reported by the SMF exit for other steps in the same job. My money is on the structure of the SMF record presented to the exit in this particular step. . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com From: DASDBILL2 dasdbi...@comcast.net To: IBM-MAIN@LISTSERV.UA.EDU, Date: 12/14/2013 11:30 AM Subject:Re: EXCP Counts in SMF Exit Sent by:IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU The SMF EXCP counting code counts all EXCPs but not necessarily all I/O requests. If your wayward job is using the STARTIO access method or the Media Manager to do its output I/O to tape, then its bazillions of I/O requests will never be accounted for in SMF data, but they will show up in RMF data for the device(s) involved. BSAM, QSAM, BPAM, and BDAM all use EXCP under the covers, so all their I/Os are counted by SMF. I don't know about VSAM. DB2 and IMS use Media Manager internally, which uses STARTIO internally, so their I/Os are not automatically counted in SMF. Bill Fairchild - Original Message - From: Skip Robinson jo.skip.robin...@sce.com To: IBM-MAIN@LISTSERV.UA.EDU Sent: Friday, December 13, 2013 5:36:43 PM Subject: EXCP Counts in SMF Exit We use an SMF exit modeled on SAMPLIB(SCEACTMS). For each step, it formats various stats in the job message log for every device used. It works well most of the time, but for a particular job in a particular where we really need to see some values, the crucial lines are totally missing. I've looked at the code and concluded that the only way we could be missing all device detail is if the field SMF30EON is zero. The job step in question does enormous I/O to tape. PUTMSG3B DS0H EXCP COUNTS SLR R5,R5 GET COUNT OF ICM R5,B'0011',SMF30EON EXCP SECTIONS- BZPUTMS3BXIF NONE, SKIP RTN - BAL R14,MSGRTN PUT BLANK LINE OUT MVC MSGAREA,LINE3B SET UP HEADER LINE BAL R14,MSGRTN PUT LINE OUT BAL R14,MSGRTN PUT BLANK LINE OUT LRR4,R9 GET RECORD ADDRESS A R4,SMF30EOF POINT TO ID SEGMENT USING SMF30EXP,R4 ENABLE RECORD DSECT EXCPLOOP DS0H PRINT NON-ZERO EXCP COUNTS PUSH USING USING LINE3BD,R6 ENABLE DETAIL LINE DSECT ... I've searched the web and found some references even in IBM-Main to a 'triplet' that handles multiple EXCP sections. But I haven't found any example of how to utilize the additional fields. I suspect that the data I need is available to the exit, but I need some guidance. Offset SMF30EOF Length SMF30ELN Number SMF30EON - Reports the number of EXCP sections on the current record. This section also has additional control fields in the ‘header/self-defining’ section: SMF30EOS reports the number of EXCP sections for the current period on Subsequent Type 30 records. These are known as the ‘chained’ Type 30 records. SMF30EOR also reports this same information but is only a 2 byte field which can overflow so SMF30EOS is the preferred field for processing this data. . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
My money would also NOT be on using the wrong access method, but it is theoretically possible. Bill Fairchld - Original Message - From: Skip Robinson jo.skip.robin...@sce.com To: IBM-MAIN@LISTSERV.UA.EDU Sent: Saturday, December 14, 2013 1:39:10 PM Subject: Re: EXCP Counts in SMF Exit I have considered that I/O to the DB2 data base might be accounted for by DB2. Maybe even the tape I/O, but that seems a stretch. But the job also does I/O to conventional files like STEPLIB and SYSIN, which is reported by the SMF exit for other steps in the same job. My money is on the structure of the SMF record presented to the exit in this particular step. . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com From: DASDBILL2 dasdbi...@comcast.net To: IBM-MAIN@LISTSERV.UA.EDU, Date: 12/14/2013 11:30 AM Subject: Re: EXCP Counts in SMF Exit Sent by: IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU The SMF EXCP counting code counts all EXCPs but not necessarily all I/O requests. If your wayward job is using the STARTIO access method or the Media Manager to do its output I/O to tape, then its bazillions of I/O requests will never be accounted for in SMF data, but they will show up in RMF data for the device(s) involved. BSAM, QSAM, BPAM, and BDAM all use EXCP under the covers, so all their I/Os are counted by SMF. I don't know about VSAM. DB2 and IMS use Media Manager internally, which uses STARTIO internally, so their I/Os are not automatically counted in SMF. Bill Fairchild - Original Message - From: Skip Robinson jo.skip.robin...@sce.com To: IBM-MAIN@LISTSERV.UA.EDU Sent: Friday, December 13, 2013 5:36:43 PM Subject: EXCP Counts in SMF Exit We use an SMF exit modeled on SAMPLIB(SCEACTMS). For each step, it formats various stats in the job message log for every device used. It works well most of the time, but for a particular job in a particular where we really need to see some values, the crucial lines are totally missing. I've looked at the code and concluded that the only way we could be missing all device detail is if the field SMF30EON is zero. The job step in question does enormous I/O to tape. PUTMSG3B DS 0H EXCP COUNTS SLR R5,R5 GET COUNT OF ICM R5,B'0011',SMF30EON EXCP SECTIONS - BZ PUTMS3BX IF NONE, SKIP RTN - BAL R14,MSGRTN PUT BLANK LINE OUT MVC MSGAREA,LINE3B SET UP HEADER LINE BAL R14,MSGRTN PUT LINE OUT BAL R14,MSGRTN PUT BLANK LINE OUT LR R4,R9 GET RECORD ADDRESS A R4,SMF30EOF POINT TO ID SEGMENT USING SMF30EXP,R4 ENABLE RECORD DSECT EXCPLOOP DS 0H PRINT NON-ZERO EXCP COUNTS PUSH USING USING LINE3BD,R6 ENABLE DETAIL LINE DSECT ... I've searched the web and found some references even in IBM-Main to a 'triplet' that handles multiple EXCP sections. But I haven't found any example of how to utilize the additional fields. I suspect that the data I need is available to the exit, but I need some guidance. Offset SMF30EOF Length SMF30ELN Number SMF30EON - Reports the number of EXCP sections on the current record. This section also has additional control fields in the ‘header/self-defining’ section: SMF30EOS reports the number of EXCP sections for the current period on Subsequent Type 30 records. These are known as the ‘chained’ Type 30 records. SMF30EOR also reports this same information but is only a 2 byte field which can overflow so SMF30EOS is the preferred field for processing this data. . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
You want to send me a dump of the Type 30 record off-list I can take a quick look at it. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Skip Robinson Sent: Saturday, December 14, 2013 11:39 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: EXCP Counts in SMF Exit I have considered that I/O to the DB2 data base might be accounted for by DB2. Maybe even the tape I/O, but that seems a stretch. But the job also does I/O to conventional files like STEPLIB and SYSIN, which is reported by the SMF exit for other steps in the same job. My money is on the structure of the SMF record presented to the exit in this particular step. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
There's an SMF VIEW command on CBT but haven't used it for chained type 30's. Have used the heck out of ANAL30DD from MXG. In a message dated 12/14/2013 4:07:07 P.M. Central Standard Time, charl...@mcn.org writes: You want to send me a dump of the Type 30 record off-list I can take a quick look at it -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
You could download the trial verion of EasySMF, which among other things allows you to browse the type 30 sections. It would probably help if you can see exactly what is in each field. You can download it from: http://www.smfreports.com/ Regards Andrew Rowley Black Hill Software On 14/12/2013 10:36, Skip Robinson wrote: We use an SMF exit modeled on SAMPLIB(SCEACTMS). For each step, it formats various stats in the job message log for every device used. It works well most of the time, but for a particular job in a particular where we really need to see some values, the crucial lines are totally missing. I've looked at the code and concluded that the only way we could be missing all device detail is if the field SMF30EON is zero. The job step in question does enormous I/O to tape. PUTMSG3B DS0H EXCP COUNTS SLR R5,R5 GET COUNT OF ICM R5,B'0011',SMF30EON EXCP SECTIONS- BZPUTMS3BXIF NONE, SKIP RTN - BAL R14,MSGRTN PUT BLANK LINE OUT MVC MSGAREA,LINE3B SET UP HEADER LINE BAL R14,MSGRTN PUT LINE OUT BAL R14,MSGRTN PUT BLANK LINE OUT LRR4,R9 GET RECORD ADDRESS A R4,SMF30EOF POINT TO ID SEGMENT USING SMF30EXP,R4 ENABLE RECORD DSECT EXCPLOOP DS0H PRINT NON-ZERO EXCP COUNTS PUSH USING USING LINE3BD,R6 ENABLE DETAIL LINE DSECT ... I've searched the web and found some references even in IBM-Main to a 'triplet' that handles multiple EXCP sections. But I haven't found any example of how to utilize the additional fields. I suspect that the data I need is available to the exit, but I need some guidance. Offset SMF30EOF Length SMF30ELN Number SMF30EON - Reports the number of EXCP sections on the current record. This section also has additional control fields in the ‘header/self-defining’ section: SMF30EOS reports the number of EXCP sections for the current period on Subsequent Type 30 records. These are known as the ‘chained’ Type 30 records. SMF30EOR also reports this same information but is only a 2 byte field which can overflow so SMF30EOS is the preferred field for processing this data. . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- and...@blackhillsoftware.com +61 413 302 386 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
Charles: About 30 years ago we had an online CICS region that had 1000+ DD statements for 3270's. Our SMF processing program burped on the type 4 (several times). It was written in COBOL and I learned quite a bit on how the program handled the situation (and it wasn't pretty). As others have indicated IBM did some quick changes so others wouldn't have to handle these odd SMF layouts. Luckily nowdays the issue is semi forklore as the number of 3270's have been transferred over to VTAM. and are probably no longer being generated. Ed On Dec 14, 2013, at 4:06 PM, Charles Mills wrote: You want to send me a dump of the Type 30 record off-list I can take a quick look at it. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM- m...@listserv.ua.edu] On Behalf Of Skip Robinson Sent: Saturday, December 14, 2013 11:39 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: EXCP Counts in SMF Exit I have considered that I/O to the DB2 data base might be accounted for by DB2. Maybe even the tape I/O, but that seems a stretch. But the job also does I/O to conventional files like STEPLIB and SYSIN, which is reported by the SMF exit for other steps in the same job. My money is on the structure of the SMF record presented to the exit in this particular step. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
Great idea. I played with Easy SMF once upon a time and found it very easy to use. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Andrew Rowley Sent: Saturday, December 14, 2013 3:01 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: EXCP Counts in SMF Exit You could download the trial verion of EasySMF, which among other things allows you to browse the type 30 sections. It would probably help if you can see exactly what is in each field. You can download it from: http://www.smfreports.com/ Regards Andrew Rowley Black Hill Software On 14/12/2013 10:36, Skip Robinson wrote: We use an SMF exit modeled on SAMPLIB(SCEACTMS). For each step, it formats various stats in the job message log for every device used. It works well most of the time, but for a particular job in a particular where we really need to see some values, the crucial lines are totally missing. I've looked at the code and concluded that the only way we could be missing all device detail is if the field SMF30EON is zero. The job step in question does enormous I/O to tape. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
On Sat, 14 Dec 2013 11:39:10 -0800, Skip Robinson jo.skip.robin...@sce.com wrote: Doesn't SDSF get the counts from SMF 30? Assuming so, have you tried monitoring via SDSF to see what it reports while the step is running? Mark -- Mark Zelden - Zelden Consulting Services - z/OS, OS/390 and MVS ITIL v3 Foundation Certified mailto:m...@mzelden.com Mark's MVS Utilities: http://www.mzelden.com/mvsutil.html Systems Programming expert at http://search390.techtarget.com/ateExperts/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
Does your IEFACTRT deal with continuation type 30-4 records? From the Installation Exits book: When the data for an SMF record exceeds 32,756 bytes in length, the system constructs one or more continuation or additional records to ensure that no individual record exceeds that length. The system invokes IEFACTRT once for the original record and once for each continuation record. (When the exit is called with a continuation record, SMF30TON is zero.) Bob Skip Robinson wrote: We use an SMF exit modeled on SAMPLIB(SCEACTMS). For each step, it formats various stats in the job message log for every device used. It works well most of the time, but for a particular job in a particular where we really need to see some values, the crucial lines are totally missing. I've looked at the code and concluded that the only way we could be missing all device detail is if the field SMF30EON is zero. The job step in question does enormous I/O to tape. PUTMSG3B DS0H EXCP COUNTS SLR R5,R5 GET COUNT OF ICM R5,B'0011',SMF30EON EXCP SECTIONS- BZPUTMS3BXIF NONE, SKIP RTN - BAL R14,MSGRTN PUT BLANK LINE OUT MVC MSGAREA,LINE3B SET UP HEADER LINE BAL R14,MSGRTN PUT LINE OUT BAL R14,MSGRTN PUT BLANK LINE OUT LRR4,R9 GET RECORD ADDRESS A R4,SMF30EOF POINT TO ID SEGMENT USING SMF30EXP,R4 ENABLE RECORD DSECT EXCPLOOP DS0H PRINT NON-ZERO EXCP COUNTS PUSH USING USING LINE3BD,R6 ENABLE DETAIL LINE DSECT ... I've searched the web and found some references even in IBM-Main to a 'triplet' that handles multiple EXCP sections. But I haven't found any example of how to utilize the additional fields. I suspect that the data I need is available to the exit, but I need some guidance. Offset SMF30EOF Length SMF30ELN Number SMF30EON - Reports the number of EXCP sections on the current record. This section also has additional control fields in the ‘header/self-defining’ section: SMF30EOS reports the number of EXCP sections for the current period on Subsequent Type 30 records. These are known as the ‘chained’ Type 30 records. SMF30EOR also reports this same information but is only a 2 byte field which can overflow so SMF30EOS is the preferred field for processing this data. . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
Bob, I got your sample exit. Plan to pursue it. As for what my exit has access to, it's just a standard SMF exit call in a batch job. Here's what a 'normal' job shows: +--- | --TIMINGS (MINS.)-- | JOBNAME STEPNAME PROCSTEPRC EXCP CONNTCBSRB CLOCK SERV PG | ZWAITEST STEP100 3103 12307.01.00 .2 68745 0 | | DDNAME UNIT TYPE BLKSIZ EXCP (ONLY NON-ZERO COUNTS LISTED) | | STEPLIB 7C12 3390 32760 2 | SYSPRINT 3408 3490 262080 3053 +--- Here's the problem job. Note the huge number of EXCPs. There is simply no device level detail displayed. +---| | --TIMINGS (MINS.)-- | | JOBNAME STEPNAME PROCSTEPRC EXCP CONNTCBSRB CLOCK SERV PG| | CSSDCU01 CSSDCU01 STEP160 00 17819K 6166K 3.24.69 112.0 18641K 0+ +---I . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com From: Bob Rutledge deerh...@ix.netcom.com To: IBM-MAIN@LISTSERV.UA.EDU, Date: 12/13/2013 04:30 PM Subject:Re: EXCP Counts in SMF Exit Sent by:IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU Does your IEFACTRT deal with continuation type 30-4 records? From the Installation Exits book: When the data for an SMF record exceeds 32,756 bytes in length, the system constructs one or more continuation or additional records to ensure that no individual record exceeds that length. The system invokes IEFACTRT once for the original record and once for each continuation record. (When the exit is called with a continuation record, SMF30TON is zero.) Bob Skip Robinson wrote: We use an SMF exit modeled on SAMPLIB(SCEACTMS). For each step, it formats various stats in the job message log for every device used. It works well most of the time, but for a particular job in a particular where we really need to see some values, the crucial lines are totally missing. I've looked at the code and concluded that the only way we could be missing all device detail is if the field SMF30EON is zero. The job step in question does enormous I/O to tape. PUTMSG3B DS0H EXCP COUNTS SLR R5,R5 GET COUNT OF ICM R5,B'0011',SMF30EON EXCP SECTIONS- BZPUTMS3BXIF NONE, SKIP RTN - BAL R14,MSGRTN PUT BLANK LINE OUT MVC MSGAREA,LINE3B SET UP HEADER LINE BAL R14,MSGRTN PUT LINE OUT BAL R14,MSGRTN PUT BLANK LINE OUT LRR4,R9 GET RECORD ADDRESS A R4,SMF30EOF POINT TO ID SEGMENT USING SMF30EXP,R4 ENABLE RECORD DSECT EXCPLOOP DS0H PRINT NON-ZERO EXCP COUNTS PUSH USING USING LINE3BD,R6 ENABLE DETAIL LINE DSECT ... I've searched the web and found some references even in IBM-Main to a 'triplet' that handles multiple EXCP sections. But I haven't found any example of how to utilize the additional fields. I suspect that the data I need is available to the exit, but I need some guidance. Offset SMF30EOF Length SMF30ELN Number SMF30EON - Reports the number of EXCP sections on the current record. This section also has additional control fields in the ‘header/self-defining’ section: SMF30EOS reports the number of EXCP sections for the current period on Subsequent Type 30 records. These are known as the ‘chained’ Type 30 records. SMF30EOR also reports this same information but is only a 2 byte field which can overflow so SMF30EOS is the preferred field for processing this data. . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
A triplet consists of a 32-bit offset into the record, a 16-bit length, and a 16-bit repetition count. For DB2 it gets *really* complicated, but for Type 30, it should be fairly simple. Perhaps your repetition count is more than one? If so, there will be another data section at the end of the first one, that is, at record+displacement+length. I read the doc as saying there may be more than one section, that is, SMF30EON might be non-zero and greater than one. You may need a loop on SMF30EON. Let me know if you want more detail. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Skip Robinson Sent: Friday, December 13, 2013 3:37 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: EXCP Counts in SMF Exit We use an SMF exit modeled on SAMPLIB(SCEACTMS). For each step, it formats various stats in the job message log for every device used. It works well most of the time, but for a particular job in a particular where we really need to see some values, the crucial lines are totally missing. I've looked at the code and concluded that the only way we could be missing all device detail is if the field SMF30EON is zero. The job step in question does enormous I/O to tape. PUTMSG3B DS0H EXCP COUNTS SLR R5,R5 GET COUNT OF ICM R5,B'0011',SMF30EON EXCP SECTIONS- BZPUTMS3BXIF NONE, SKIP RTN - BAL R14,MSGRTN PUT BLANK LINE OUT MVC MSGAREA,LINE3B SET UP HEADER LINE BAL R14,MSGRTN PUT LINE OUT BAL R14,MSGRTN PUT BLANK LINE OUT LRR4,R9 GET RECORD ADDRESS A R4,SMF30EOF POINT TO ID SEGMENT USING SMF30EXP,R4 ENABLE RECORD DSECT EXCPLOOP DS0H PRINT NON-ZERO EXCP COUNTS PUSH USING USING LINE3BD,R6 ENABLE DETAIL LINE DSECT ... I've searched the web and found some references even in IBM-Main to a 'triplet' that handles multiple EXCP sections. But I haven't found any example of how to utilize the additional fields. I suspect that the data I need is available to the exit, but I need some guidance. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: EXCP Counts in SMF Exit
Aha. We may be on to something. The problem step in the problem job executes IBM 'high performance unload' utility PGM=INZUTILB. The step unloads/backs up a large DB2 data base. The job has almost two dozen steps, but we're focused on this one in particular. It's the only step in the job that has no device stats in job messages. . . JO.Skip Robinson Southern California Edison Company Electric Dragon Team Paddler SHARE MVS Program Co-Manager 626-302-7535 Office 323-715-0595 Mobile jo.skip.robin...@sce.com From: Charles Mills charl...@mcn.org To: IBM-MAIN@LISTSERV.UA.EDU, Date: 12/13/2013 08:10 PM Subject:Re: EXCP Counts in SMF Exit Sent by:IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU A triplet consists of a 32-bit offset into the record, a 16-bit length, and a 16-bit repetition count. For DB2 it gets *really* complicated, but for Type 30, it should be fairly simple. Perhaps your repetition count is more than one? If so, there will be another data section at the end of the first one, that is, at record+displacement+length. I read the doc as saying there may be more than one section, that is, SMF30EON might be non-zero and greater than one. You may need a loop on SMF30EON. Let me know if you want more detail. Charles -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Skip Robinson Sent: Friday, December 13, 2013 3:37 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: EXCP Counts in SMF Exit We use an SMF exit modeled on SAMPLIB(SCEACTMS). For each step, it formats various stats in the job message log for every device used. It works well most of the time, but for a particular job in a particular where we really need to see some values, the crucial lines are totally missing. I've looked at the code and concluded that the only way we could be missing all device detail is if the field SMF30EON is zero. The job step in question does enormous I/O to tape. PUTMSG3B DS0H EXCP COUNTS SLR R5,R5 GET COUNT OF ICM R5,B'0011',SMF30EON EXCP SECTIONS- BZPUTMS3BXIF NONE, SKIP RTN - BAL R14,MSGRTN PUT BLANK LINE OUT MVC MSGAREA,LINE3B SET UP HEADER LINE BAL R14,MSGRTN PUT LINE OUT BAL R14,MSGRTN PUT BLANK LINE OUT LRR4,R9 GET RECORD ADDRESS A R4,SMF30EOF POINT TO ID SEGMENT USING SMF30EXP,R4 ENABLE RECORD DSECT EXCPLOOP DS0H PRINT NON-ZERO EXCP COUNTS PUSH USING USING LINE3BD,R6 ENABLE DETAIL LINE DSECT ... I've searched the web and found some references even in IBM-Main to a 'triplet' that handles multiple EXCP sections. But I haven't found any example of how to utilize the additional fields. I suspect that the data I need is available to the exit, but I need some guidance. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN