Using Strobe for CA Gen
After your CA Gen application has been installed in the MVS environment, you can measure its performance.
The Using-Strobe-to-measure-online-applications-and-batch-programs contains comprehensive instructions for:
- Submitting and managing measurement requests and creating Performance Profiles
- Preparing Performance Profiles for iStrobe and downloading them to the workstation for analysis.
This section describes only those requirements and considerations that are particular to creating Performance Profiles for CA Gen applications.
Before You Begin
Before you submit your measurement request, obtain the following information:
Name of the application and where it executes, according to the following table:
Environment
Determine
batch
The job name and program name, or step name
CICS
The name of the CICS region and the load module names of the applications
IMS
The name of the IMS region and the load module names of the applications
TSO
The TSO session name and the load module names of the application
- If an online region, the time the application will execute and approximately how long the application runs.
- Name of the host dataset library where the application load modules are stored (required for the TSO environment).
- Name of the compiler listing dataset for the CA Gen application. (This information is vital to producing reports that contain the maximum amount of information).
If you are unsure of any of the above information, consult your Strobe system programmer.
Measuring the Application
When you submit the Strobe measurement request to measure a CA Gen application, you need to provide Strobe with some information. From the panel at which you are adding the request, enter Y in the MODULE MAPPING DATA field. Strobe displays the Strobe - Module Mapping panel, as shown in the following figure.
Strobe - Module Mapping Panel Showing CA Gen Parameters
What you enter on the Strobe - Module Mapping panel depends on the environment in which the application runs. Enter the appropriate information according to your environment to see detailed level information for action diagrams:
If environment is | Enter | In this field |
---|---|---|
batch | Name of MVS load library where application load modules reside | LIBRARIES TO SEARCH |
Load module names of the application | BASELINE OVERRIDE | |
CICS | The name of the CICS region and the load module names of the applications | BASELINE OVERRIDE |
IMS | The name of the IMS region and the load module names of the applications | BASELINE OVERRIDE |
TSO | The TSO session name and the load module names of the application | LIBRARIES TO SEARCH |
Load module names of the application | BASELINE OVERRIDE |
Creating a Profile Relating CPU Activity with CA Gen Statement Text
By default, CA Gen reports associate the CPU execution time observed during the measurement session with specific CA Gen statement numbers.
You can also view the CA Gen statement text and associate the generated COBOL statements with the related CA Gen statement numbers in the action diagram. The process of creating this association is called indexing. This step is optional, but you may find it highly useful.
To create an indexed Performance Profile (one that includes CA Gen statement text and, optionally, the related COBOL statement text), you first need to create a map dataset. A map dataset is the repository for the information required to relate addresses in the generated code with CA Gen statements in the source program. Strobe must have obtained CSECT information for any load module you want to index. For detailed information about this process, refer to the section in the Using-Strobe-to-measure-online-applications-and-batch-programs titled “Entering Module Mapping Specifications”.
The following sections describe how to create a compiler listing dataset with the appropriate compile options and how to create the CA Gen map dataset.
Modifying Local Compile Scripts (MVS Host Encyclopedia)
The local compile script for CA Gen applications is stored in the CA Gen installation CLIST library. The CLIST name for the compile script is TICCMPL.
Modifying this script is a global change for all users. When you modify the CA Gen script, you are modifying it for everyone.
To modify the compile script, follow these steps:
- Locate the CLIST TICCMPL.
- Locate the variable SRCOPTS.
Edit the script options from NOS,NOX,NOMAP,OFF, to S,X,MAP,NOOFF,LIST as shown in the following example:
/*******************************************
/* SET UP COMPILE OUTLIST OPTIONS
/*******************************************
SET SCROPTS = &STR(S,X,MAP,NOOFF,LIST)
SET LISTFLAG = N
ISPEXEC VGET TICGLIB1 ASIS
SET SYSDVAL = &TICGLIB1
READDVAL TICCMPL
/*
IF &TICCMPL = THEN DO
SET LISTFLAG = P
SET SCROPTS = &STR(S,X,MAP,NOOFF,LIST)
IF &TICCMPL = &TICGLIB1 THEN *
SET TICCMPL = &TIUPREF..&TICCMPL&TIUSUFX
END- Ensure that your compile options specify OPT(STD), not OPT(FULL).
Modifying Remote Compile Scripts (MVS Implementation Toolset)
The remote compile script for CA Gen applications is stored in the Implementation Toolset SLIB library. The REXX procedure name for the compile script is TIXMVSLM.
To modify the compile script, follow these steps:
- Make a copy of the script, then modify the copy.
Modifying this script is a global change for all users. When you modify the CA Gen script, you are modifying it for everyone. - Locate the copy of the REXX execute procedure TIXMVSLM.
- Locate the variable TICCMPCO.
Edit the compile options from NOS,NOX,NOMAP,OFF, to S,X,MAP,NOOFF,LIST as shown in the following example:
/* TICCMPCO = COBOL compile options */
ticcmpco = ‘S,X,MAP,NOOFF,LIST’
listflag = ‘N’
/* TICCMPL = listing library */
if g.listing_lib = ‘’ then do
ticcmpl = remove_quotes(g.listing_lib)
listflag = ‘P’
ticcmpco = ‘S,X,MAP,NOOFF,LIST’
end- Ensure that your compile options specify OPT(STD), not OPT(FULL).
After you have modified the script, you have two scripts from which to choose when you install the application. If you plan to measure the application, install it with the script you modified for use with Strobe for CA Gen.
Creating the Map Dataset
You can create a map dataset in either of two ways: you can create it when you produce the Performance Profile, or you can create it as a separate step. Since you may want to create a map dataset for your CA Gen application and use DDIO for indexing COBOL, this section describes how to create the map dataset as a separate step.
- For more information on language-specific rules that cover indexing, refer to the Using-the-Strobe-Application-Performance-Measurement-System.
- For more general information about creating a map dataset, refer to the Using-Strobe-to-measure-online-applications-and-batch-programs.
When you have a SYSPRINT dataset, you can create the map dataset. To do so, select Option 5 (INDEX) from the Strobe Options menu. The Strobe- Index to Create a Map Dataset panel (See the following figure) is displayed.
Strobe- Index to Create a Map Dataset Panel
6. In the PROGRAM LANGUAGE section, type Y in the CA GEN field. (Always create a CA Gen map dataset. Using DDIO to index COBOL is optional.)
7. In the OUTPUT: Map Dataset field, enter the name for the map dataset you are about to create.
8. Enter the name of the SYSPRINT listing dataset in the INPUT: Compiler SYSPRINT Datasets field.
You now have all the information necessary to create an indexed Performance Profile.
Controlling the Performance Profile - CA Gen Options
When you have the information you need (the sample dataset and, optionally, the map datasets) you can create a Performance Profile for your CA Gen application. You can find detailed information about creating a Performance Profile in the Strobe/ISPF Online Tutorials or the Using-Strobe-to-measure-online-applications-and-batch-programs. This section describes how you do the following:
- Specify detail parameters for the reports. See Controlling the Level of Detail in the Reports.
- Request indexing. See Source Indexing the Performance Profile.
- Prepare the Profile for downloading to iStrobeon the workstation. See Preparing Performance Profiles for iStrobe.
Controlling the Level of Detail in the Reports
When you create the Performance Profile for your CA Gen application, you can supply a parameter to specify how you want CA Gen activity presented. This optional parameter, IEF, has three subparameters that control the level of detail in the reports:
Subparameter | Purpose |
---|---|
TIMEPCT=nn.n | Indicate the minimum percentage of CPU or run time for a CA Gen statement detail line to be printed on the report. For example, to print detail lines that display activity above 15%, enter: IEF=TIMEPCT=15 nn.n is a value between 0.0 and 99.9 (default 0). |
TOPTEXT=nn | Specify the number of CA Gen statements for which you want to see full statement text. The report shows the statements with the most identified CPU time or run time percentage, if you supply an IEF map dataset when you create the performance profile. A value of 99 shows full statement text for all CA Gen statements within an action diagram. For example, to examine the statement text for the five statements that consumed the most CPU or run time, specify: IEF=TOPTEXT=5 nn is a value from 0 to 99 (default 3). |
OFFSET | Specify that activity is to be reported by offset within each COBOL statement within SQL statement within CA Gen statement number. (The default is not to report the offset.) |
To change the level of detail, enter Y in the Detail Reports field of the Strobe - Produce A Performance Profile panel. Strobe displays the Strobe- Detail For A Performance Profile panel. The example in the following figure. specifies that any CA Gen statement that has more than 2% CPU use or run time associated with it will display as a detail line in the reports. If you included the CA Gen map dataset when you created the Performance Profile, the expanded report will also show the statement text for the five CA Gen statements that consumed the most CPU or run time. Each detail line will also show activity by the COBOL offset.
Strobe- Detail For A Performance Profile Panel
Source Indexing the Performance Profile
After you have created a map dataset, you specify that Strobe use this indexing information when creating the Performance Profile by following these steps:
- Type Y in the Indexing field of the Strobe- Produce A Performance Profile panel.
- Press Enter to display the Strobe- Include Maps of Indexed Source Modules and/or DDIO Files panel (Strobe - Include Maps of Indexed Source Modules and/or DDIO Files Panel).
- Specify the names of map datasets:
- Enter the name or names of any map dataset that you created for the measured CA Gen application, as described in Creating the Map Dataset.
- Specify the names of existing map datasets in the MAP DATA SET NAMES field. (Clear the names of map datasets you do not want to use.)
- If you choose to create a new map dataset in this step, type Y in the NEW MAPS field and follow the directions in Creating the Map Dataset. When you have finished indexing, press Enter to return to the Strobe- Include Maps of Indexed Source Modules and/or DDIO Files panel where your map dataset has been added to the list of names.
Strobe- Include Maps of Indexed Source Modules and/or DDIO Files Panel
Preparing Performance Profiles for iStrobe
If you plan to use iStrobe to analyze your CA Gen measurement data, you must specify the Performance Profile parameters that prepare the data for Strobe. For more details, refer to the Using-Strobe-to-measure-online-applications-and-batch-programs section Creating iStrobe Performance Profiles. We recommend that you request the Strobe SQL Analysis reports be created, as these reports provide additional opportunities for improving applications that access Db2. For a brief description, see Using the SQL Statement Analysis Reports.