Re: SMF record for number of program executions?
Nice one Rob! Good to see MFM (or a rebirth of it) makes its way to SDSF. On Friday, November 10th, 2023 at 04:09, Rob Scott wrote: > As others have pointed out, monitoring the "fetch" of a load module is very > doable, whereas monitoring any subsequent usage of the executable is much > more difficult. > > In z/OS 3.1, SDSF introduced the "module fetch monitor" feature that was > inspired by the previous Poughkeepsie tool "MFM". We sit on the CSVFETCH and > CSVLLIX1 dynamic exits to capture both program fetch and VLF fetch events (no > need to front-end SVCs). > > This capability might provide some insight into what you require, however it > cannot tell the whole story. > > Rob Scott > Rocket Software > > > From: IBM Mainframe Discussion List IBM-MAIN@LISTSERV.UA.EDU on behalf of > Steve Thompson ste...@wkyr.net > > Sent: Thursday, November 9, 2023 10:15:12 PM > To: IBM-MAIN@LISTSERV.UA.EDU IBM-MAIN@LISTSERV.UA.EDU > > Subject: Re: SMF record for number of program executions? > > EXTERNAL EMAIL > > > > > > If you are willing to write an exit to get the info, you can get > it via a CSV exit (I forget its name, but ALL "LOAD"s go through > it). Understand, if you use that exit, it has to have a very > short code path, can't cause a wait of any kind, or you will > cause problems for all address spaces in that LPAR. The idea is > to capture the DSN & member and immediately write it to an SMF > buffer or similar so you can immediately return control. > > But other than what others have said, there is no other way to > see all dynamically loaded subroutines or load-modules. You will > not capture static routines as the LNKEDT doesn't use that > interface. > > I believe that IBM Products make use of that or another > undocumented path through VLF that is handling LLA and a bit of > caching of modules. > > Regards, > Steve Thompson > > > > On 11/9/2023 4:56 PM, Glenn Miller wrote: > > > Hi Linda, > > When I have been requested to provide that information, I have used the IBM > > Z Software Asset Management ( aka iZSAM ) software product, which was > > previously known as IBM Tivoli Asset Discovery for z/OS ( aka TADz ). > > > > Glenn Miller > > > > -- > > 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 > > > > Rocket Software, Inc. and subsidiaries ? 77 Fourth Avenue, Waltham MA 02451 ? > Main Office Toll Free Number: +1 855.577.4323 > Contact Customer Support: > https://my.rocketsoftware.com/RocketCommunity/RCEmailSupport > Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - > http://www.rocketsoftware.com/manage-your-email-preferences > Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy > > > This communication and any attachments may contain confidential information > of Rocket Software, Inc. All unauthorized use, disclosure or distribution is > prohibited. If you are not the intended recipient, please notify Rocket > Software immediately and destroy all copies of this communication. Thank you. > > -- > 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: SMF record for number of program executions?
SMF 30’s Sent from my iPhone No one said I could type with one thumb > On Nov 9, 2023, at 18:34, Lennie Dymoke-Bradshaw > <032fff1be9b4-dmarc-requ...@listserv.ua.edu> wrote: > > I believe the capability of understanding and counting program LOADs is in > the latest version of SDSF for z/OS 3.1. (I hope Rob Scott will correct this > if I am wrong). > However, I do not think this necessarily answers the question posed. That > question related to the number of times a program is executed, rather than > the number of times it is LOADed, LINKed to or even ATTACHed. A program can > be loaded (using a LOAD SVC) and then executed multiple times. That execution > can be via a LINK SVC but could just as easily be via a CALL, which is > effectively a BASR or BALR, a machine instruction which does not offer the > level of traceability that the LOAD, LINK and ATTACH services offer. As such > a load module monitor such as that in SDSF will not address the issue. > If the load module is marked not reusable and not reentrant, then I think it > is unlikely to be reused after a first execution. I would expect it to be > DELETEd and then re-LOADed. I don't think normal processing of the module > using language environment will allow reuse. > If that is the case, then the question might be able to be answered for a > specific module that is neither reentrant nor reusable. > Lennie Dymoke-Bradshaw > https://rsclweb.com > ‘Dance like no one is watching. Encrypt like everyone is.’ > > -Original Message- > From: IBM Mainframe Discussion List On Behalf Of > Steve Thompson > Sent: 09 November 2023 22:15 > To: IBM-MAIN@LISTSERV.UA.EDU > Subject: Re: SMF record for number of program executions? > > If you are willing to write an exit to get the info, you can get it via a CSV > exit (I forget its name, but ALL "LOAD"s go through it). Understand, if you > use that exit, it has to have a very short code path, can't cause a wait of > any kind, or you will cause problems for all address spaces in that LPAR. The > idea is to capture the DSN & member and immediately write it to an SMF buffer > or similar so you can immediately return control. > > But other than what others have said, there is no other way to see all > dynamically loaded subroutines or load-modules. You will not capture static > routines as the LNKEDT doesn't use that interface. > > I believe that IBM Products make use of that or another undocumented path > through VLF that is handling LLA and a bit of caching of modules. > > Regards, > Steve Thompson > > > >> On 11/9/2023 4:56 PM, Glenn Miller wrote: >> Hi Linda, >> When I have been requested to provide that information, I have used the IBM >> Z Software Asset Management ( aka iZSAM ) software product, which was >> previously known as IBM Tivoli Asset Discovery for z/OS ( aka TADz ). >> >> Glenn Miller >> >> -- >> 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 -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: SMF record for number of program executions?
I believe the capability of understanding and counting program LOADs is in the latest version of SDSF for z/OS 3.1. (I hope Rob Scott will correct this if I am wrong). However, I do not think this necessarily answers the question posed. That question related to the number of times a program is executed, rather than the number of times it is LOADed, LINKed to or even ATTACHed. A program can be loaded (using a LOAD SVC) and then executed multiple times. That execution can be via a LINK SVC but could just as easily be via a CALL, which is effectively a BASR or BALR, a machine instruction which does not offer the level of traceability that the LOAD, LINK and ATTACH services offer. As such a load module monitor such as that in SDSF will not address the issue. If the load module is marked not reusable and not reentrant, then I think it is unlikely to be reused after a first execution. I would expect it to be DELETEd and then re-LOADed. I don't think normal processing of the module using language environment will allow reuse. If that is the case, then the question might be able to be answered for a specific module that is neither reentrant nor reusable. Lennie Dymoke-Bradshaw https://rsclweb.com ‘Dance like no one is watching. Encrypt like everyone is.’ -Original Message- From: IBM Mainframe Discussion List On Behalf Of Steve Thompson Sent: 09 November 2023 22:15 To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: SMF record for number of program executions? If you are willing to write an exit to get the info, you can get it via a CSV exit (I forget its name, but ALL "LOAD"s go through it). Understand, if you use that exit, it has to have a very short code path, can't cause a wait of any kind, or you will cause problems for all address spaces in that LPAR. The idea is to capture the DSN & member and immediately write it to an SMF buffer or similar so you can immediately return control. But other than what others have said, there is no other way to see all dynamically loaded subroutines or load-modules. You will not capture static routines as the LNKEDT doesn't use that interface. I believe that IBM Products make use of that or another undocumented path through VLF that is handling LLA and a bit of caching of modules. Regards, Steve Thompson On 11/9/2023 4:56 PM, Glenn Miller wrote: > Hi Linda, > When I have been requested to provide that information, I have used the IBM Z > Software Asset Management ( aka iZSAM ) software product, which was > previously known as IBM Tivoli Asset Discovery for z/OS ( aka TADz ). > > Glenn Miller > > -- > 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: SMF record for number of program executions?
> determining how many "times" it was used (executed) requires a tool like > STROBE Unless IBM Enterprise COBOL for z/OS version 6 is making a call out to an IGZ module on every entry into the program, and one was able to hook such a IGZ module. -Original Message- From: IBM Mainframe Discussion List On Behalf Of Michael Oujesky Sent: Thursday, November 9, 2023 5:21 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: SMF record for number of program executions? While others have already responded about how to determine how many times a program has been fetched into storage, determining how many "times" it was used (executed) requires a tool like STROBE that provides statistics on how many samples were taken while in the programs code. Michael At 01:00 PM 11/9/2023, L H wrote: >Hello, > >I need to count the number of times some programs are executed on z/OS. > >Not job names or CICS Tranids, but the times Cobol object code executed. > >Does anyone know if a SMF record exists to record this, or does anyone have >an Assembler program to read the SMF and produce the counts? Or a Merrill >example? > >Any assistance or reference to manuals, cbttape, etc., is appreciated. > >Thanks, Linda > >-- >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: SMF record for number of program executions?
While others have already responded about how to determine how many times a program has been fetched into storage, determining how many "times" it was used (executed) requires a tool like STROBE that provides statistics on how many samples were taken while in the programs code. Michael At 01:00 PM 11/9/2023, L H wrote: Hello, I need to count the number of times some programs are executed on z/OS. Not job names or CICS Tranids, but the times Cobol object code executed. Does anyone know if a SMF record exists to record this, or does anyone have an Assembler program to read the SMF and produce the counts? Or a Merrill example? Any assistance or reference to manuals, cbttape, etc., is appreciated. Thanks, Linda -- 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: SMF record for number of program executions?
As others have pointed out, monitoring the "fetch" of a load module is very doable, whereas monitoring any subsequent usage of the executable is much more difficult. In z/OS 3.1, SDSF introduced the "module fetch monitor" feature that was inspired by the previous Poughkeepsie tool "MFM". We sit on the CSVFETCH and CSVLLIX1 dynamic exits to capture both program fetch and VLF fetch events (no need to front-end SVCs). This capability might provide some insight into what you require, however it cannot tell the whole story. Rob Scott Rocket Software From: IBM Mainframe Discussion List on behalf of Steve Thompson Sent: Thursday, November 9, 2023 10:15:12 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: SMF record for number of program executions? EXTERNAL EMAIL If you are willing to write an exit to get the info, you can get it via a CSV exit (I forget its name, but ALL "LOAD"s go through it). Understand, if you use that exit, it has to have a very short code path, can't cause a wait of any kind, or you will cause problems for all address spaces in that LPAR. The idea is to capture the DSN & member and immediately write it to an SMF buffer or similar so you can immediately return control. But other than what others have said, there is no other way to see all dynamically loaded subroutines or load-modules. You will not capture static routines as the LNKEDT doesn't use that interface. I believe that IBM Products make use of that or another undocumented path through VLF that is handling LLA and a bit of caching of modules. Regards, Steve Thompson On 11/9/2023 4:56 PM, Glenn Miller wrote: > Hi Linda, > When I have been requested to provide that information, I have used the IBM Z > Software Asset Management ( aka iZSAM ) software product, which was > previously known as IBM Tivoli Asset Discovery for z/OS ( aka TADz ). > > Glenn Miller > > -- > 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 Rocket Software, Inc. and subsidiaries ? 77 Fourth Avenue, Waltham MA 02451 ? Main Office Toll Free Number: +1 855.577.4323 Contact Customer Support: https://my.rocketsoftware.com/RocketCommunity/RCEmailSupport Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - http://www.rocketsoftware.com/manage-your-email-preferences Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy This communication and any attachments may contain confidential information of Rocket Software, Inc. All unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please notify Rocket Software immediately and destroy all copies of this communication. Thank you. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: SMF record for number of program executions?
If the question is how many times a module was loaded, IZSAM, and several others can answer it. If the question is how many times that [sub]program was actually invoked, IZSAM and similar can't help. As far as I know there is only one product able to do it. Having a vested interest I will refrain from mentioning it on the list. Mario -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: SMF record for number of program executions?
If you are willing to write an exit to get the info, you can get it via a CSV exit (I forget its name, but ALL "LOAD"s go through it). Understand, if you use that exit, it has to have a very short code path, can't cause a wait of any kind, or you will cause problems for all address spaces in that LPAR. The idea is to capture the DSN & member and immediately write it to an SMF buffer or similar so you can immediately return control. But other than what others have said, there is no other way to see all dynamically loaded subroutines or load-modules. You will not capture static routines as the LNKEDT doesn't use that interface. I believe that IBM Products make use of that or another undocumented path through VLF that is handling LLA and a bit of caching of modules. Regards, Steve Thompson On 11/9/2023 4:56 PM, Glenn Miller wrote: Hi Linda, When I have been requested to provide that information, I have used the IBM Z Software Asset Management ( aka iZSAM ) software product, which was previously known as IBM Tivoli Asset Discovery for z/OS ( aka TADz ). Glenn Miller -- 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: SMF record for number of program executions?
Hi Linda, When I have been requested to provide that information, I have used the IBM Z Software Asset Management ( aka iZSAM ) software product, which was previously known as IBM Tivoli Asset Discovery for z/OS ( aka TADz ). Glenn Miller -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: SMF record for number of program executions?
Hello Linda, We have a program that produces the results you are seeking. If you are interested in learning more about our free Beta Test Program, please contact us at i...@dtssoftware.com<mailto:i...@dtssoftware.com> Regards, Steve From: IBM Mainframe Discussion List on behalf of L H Sent: Thursday, November 9, 2023 2:00 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: SMF record for number of program executions? Hello, I need to count the number of times some programs are executed on z/OS. Not job names or CICS Tranids, but the times Cobol object code executed. Does anyone know if a SMF record exists to record this, or does anyone have an Assembler program to read the SMF and produce the counts? Or a Merrill example? Any assistance or reference to manuals, cbttape, etc., is appreciated. Thanks, Linda -- 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: SMF record for number of program executions?
As @Ituriel says, If you want the jobstep program it is found in some of the SMF 30 records. No trick to finding it. IIRC it is very straightforward. "Every program" comes up here from time to time and is basically impossible. There is no supported way. If you want to intercept SVCs (and I suspect you don't!) then you can get most of them. You are still not at 100%. A user could, for example, read in a program using BPAM and then branch to it. There is another program name in one of the SMF segments. Highest CPU utilization program or something like that. It's an additional clue, but it is nowhere near "every program." Charles On Thu, 9 Nov 2023 19:14:23 +, Ituriel do Neto wrote: >If the program you want is specified in EXEC PGM= statement, then it is >possible to use SMF 30. > >If it is a subroutine, then it will be much more complicated. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
Re: SMF record for number of program executions?
If the program you want is specified in EXEC PGM= statement, then it is possible to use SMF 30. If it is a subroutine, then it will be much more complicated. Best Regards Ituriel do Nascimento Neto z/OS System Programmer Em quinta-feira, 9 de novembro de 2023 às 16:01:27 BRT, L H escreveu: Hello, I need to count the number of times some programs are executed on z/OS. Not job names or CICS Tranids, but the times Cobol object code executed. Does anyone know if a SMF record exists to record this, or does anyone have an Assembler program to read the SMF and produce the counts? Or a Merrill example? Any assistance or reference to manuals, cbttape, etc., is appreciated. Thanks, Linda -- 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
SMF record for number of program executions?
Hello, I need to count the number of times some programs are executed on z/OS. Not job names or CICS Tranids, but the times Cobol object code executed. Does anyone know if a SMF record exists to record this, or does anyone have an Assembler program to read the SMF and produce the counts? Or a Merrill example? Any assistance or reference to manuals, cbttape, etc., is appreciated. Thanks, Linda -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN