This file describes the APA (Application Performance Analysis) automation process as a part of the Top CPU consuming COBOL modules identification process. The BOZAPAB-BOZAPAB7 and BOZVLM1 REXX executable programs are designed to automate the APA profiling required to identify top COBOL modules running at the peak CPU activity time spot. Some customization of REXX programs, such as, job, steplib card and threshold value substitution is required (see samples for details*). Installation: 1. Download 'APA automation.zip' file, then extract it. 2. Instructions to Upload to your mainframe from a Windows workstation: - /* go to your command prompt and issue the following command set */ - cd /* to directory you extracted the zip file to */ - ftp - open your.mainframe.dns OR your.mainframe.ipaddress - /* reply to user: with your username which is also your HLQ */ - /* reply to password: with your associated password*/ - prompt /* cd to dataset allocated under SYSPROC or SYSEXEC DD in your logon procedure */ /* for example: */ - cd 'UID.CLIST' - mput * - quit Where UID from here on refers to the z/OS system user ID. Note: A single UID is expected to be dedicated specifically for this process to insure profiling and top module list generation accuracy. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx The BOZAPAB REXX prompts to provide the job & program list full data set name. This file is generated as a prerequisite to the current process - "zBNA to APA" process**. This file represents a list of high CPU consuming job/program pairs. Every record of this file is expected to be in a comma delimited format: job name, program name For example, we will name this file UID.APA.INPUT in this document. Note: Make sure your APA input file has ISPF profile numbering option set to NUMBER OFF Assuming that all of the above REXX programs are placed into the library concatenated under SYSEXEC or SYSPROC DD name, you can invoke any of these just by issuing the 'TSO rexxname' command. Usage 1. Issue: TSO BOZAPAB Issue this command just before the peak CPU activity time interval when the jobs listed in UID.APA.INPUT file are expected to run. The BOZAPAB REXX will generate and submit the batch job with continuous APA measurement requests for every job/program pair found in UID.APA.INPUT file. The sample files satisfying all or most of those measurement requests will be generated by APA during this time. 2. Issue: TSO BOZAPAB1 [RESET] This command should be issued after the hot spot, time interval addressed in Step 1 is complete. The BOZAPAB1 REXX prompts to provide the product name to be used to scan modules for COBOL csects. Expected replies are either "FILEMAN", "ABO" or "SKIP". Where FILEMAN and ABO correspond with IBM File Manager and IBM ABO scanner names supported by this tool. If none of these products are available on your system, you can use option SKIP. However non-COBOL load modules can be still present in the top CPU usage module list generated. Once entered, the scanner name will be kept in the profile for the next BOZAPAB1 execution, therefore no prompt will be issued in subsequent executions. If you want to switch between ABO and File Manager, then issue TSO BOZAPAB1 RESET command, it will reset the old value and prompt for the scanner name again. The BOZAPAB1 REXX, automatically invokes BOZAPAB2-BOZAPAB7 REXX programs, which will analyze all sample files generated in Step 1, then print and analyze APA S03, C02 and C08 reports based on those sample files. The following files show the intermediate and final results: (files common for either IBM scanner or with no scanner selected) UID.APA.ABO.LIST /* Top list of readied for optimization COBOL modules*/ UID.APA.COBOL.LIST /* Top list of COBOL modules */ UID.APA.SCANNER.INPUT /* Top list of modules to scan for COBOL */ UID.APA.C08LIST /* List of top CPU consuming programs */ UID.APA.PRINTC08 /* Accumulated C08 and C02 reports */ UID.APA.PRINTC08.SHORT /* Summarized C08 and C02 reports */ UID.APA.PRINTS03 /* Accumulated S03 report */ UID.APA.PRINTS03.SHORT /* Summarized S03 report */ (files specific for ABO scanner) UID.APA.ABO.OPTLOG /* Automatic Binary Optimizer (ABO) SCAN Output */ UID.APA.ABO.OPTLOG.SHORT /* Summarized ABO SCAN output */ (files specific for File Manager scanner) UID.APA.FILEMAN.VLM.REPORT /* File Manager View Load Module command output */ The final list of top CPU consuming COBOL modules is always printed into both UID.APA.ABO.LIST and UID.APA.COBOL.LIST data sets in a format readable by ABO (invoked via BOZOPT) and a format of loadlib.dataset(module), respectively. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx The steps listed above are based on the assumption that the ABO module scan function is available on the mainframe that the REXX programs are run on. If the full or trial versions of ABO are unavalable to scan candidate programs for COBOL CSECTS, then IBM File Manager may be used. If none of these scanners are available, then the top modules list generated will also contain non-COBOL modules. * - The REXX samples provided are verified on Code Pages 1047, 037 and 1025. ** - for the 'zBNA to APA process automation' instructions see readme.txt file in that ZIP package. The file generated by GenerateJobList tool becomes an input to the next process after you update it, as follows: 1. Delete the first title line. 2. Determine how many top rows should stay on that file and delete the rest, i.e. leave those job/program pairs accumulating sufficient CPU time to be chosen for further analysis. (Tip: Use Excel's functionality to display, then analyze the accumulative CPU time). 3. Delete 'CPU Time' and 'Count' columns leaving only the first two columns representing job name and program name respectively.