Strobe for Advantage CA-IDMS Overview


Strobefor Advantage CA-IDMS is a product that extends the basic Strobefunctionality. This manual describes the various uses of Strobefor Advantage CA-IDMS and how it works with Strobeto measure CA-IDMS applications.

CA-IDMS Capabilities

With Strobefor Advantage CA-IDMS, you can measure CA-IDMS online and batch regions and evaluate the performance of:

  • ADS/O dialogs
  • Online transactions and external run units
  • CA-IDMS online application programs written in assembler, COBOL, and PL/I
  • CA-IDMS subsystem nucleus programs.

You can also measure CA-IDMS batch application programs written in assembler, COBOL, and PL/I, which execute in either Central Version or local mode.

Strobefor Advantage CA-IDMS dynamically obtains measurement information to produce the StrobePerformance Profile, which includes reports that do the following:

  • Show CPU usage by load module and control section
  • Identify CPU activity of CA-IDMS system and application tasks (transactions)
  • Attribute CPU time to ADS/O dialogs, processes, and commands
  • Attribute CPU time to online programs and external run units
  • Attribute CPU time in CA-IDMS batch database application programs to database DML and SQL commands
  • Provide function descriptors for CA-IDMS modules.

Strobefor Advantage CA-IDMS lets you identify the CA-IDMS application and system tasks that most affect the performance of your CA-IDMS system. Additionally, you can determine which CA-IDMS nucleus programs execute on behalf of those tasks. Using this knowledge, you can make decisions about how to do the following:

  • Streamline application code and request ADS/O and CA-IDMS services more efficiently
  • Concentrate efforts to reduce batch database application run time
  • Divide applications among CA-IDMS regions
  • Distribute hardware resources more efficiently for CA-IDMS applications.

Strobefor Advantage CA-IDMS identifies tasks that perform CA-IDMS system services by assigning them transaction names. It assigns these names based upon the following:

  • CA-IDMS-DC taskcode
  • External batch program (run-unit) name.

Strobefor Advantage CA-IDMS identifies CA-IDMS system tasks by assigning them pseudo-transaction names that reflect the types of services that the tasks provide. A complete list of these pseudo-transaction names appears in the section titled CA-IDMS Pseudo-Taskcodes (Transactions).

Strobe for Advantage CA-IDMS also identifies CA-IDMS nucleus and application programs by load module name, when available, and by a pseudo-load module name when not available.

CA-IDMS Environments

CA-IDMS applications execute in four different environments, each geared to a specific type of application processing need. The environments are:

  • CA-IDMS-DC/CV mode
  • CA-IDMS Batch Central Version mode
  • CA-IDMS local mode batch
  • CA-IDMS-DC/CV-UCF (Universal Communications Facility) mode.

MVS Environment Running Jobs That Use CA-IDMS illustrates a possible job mix showing the four CA-IDMS environments. The organization of components within each region represents the high level interaction among them.

CA-IDMS-DC/CV Mode

CA-IDMS-DC/CV is an online region consisting of a teleprocessing component, CA-IDMS-DC, and a database management system, CA-IDMS Central Version (CV). CA-IDMS-DC provides a set of services that are requested by applications through DC Data Manipulation Language (DML) commands.

MVS Environment Running Jobs That Use CA-IDMS

image2021-2-9_10-38-10.png

CA-IDMS-DC system services allow the application to do the following:

  • GET STORAGE or FREE STORAGE
  • LOAD, DELETE, and TRANSFER CONTROL to or RETURN from other application programs
  • WAIT on events, POST events complete
  • ENQUEUE and DEQUEUE resources
  • Schedule time-dependent or threshold events (GET TIME, SET TIME)
  • Communicate with terminal networks (READ TERMINAL, WRITE TERMINAL, MAP IN, MAP OUT)
  • ATTACH new tasks and CHANGE PRIORITY of existing tasks
  • Queue data for use by the same task or other tasks (GET, PUT, and DELETE QUEUE)
  • Issue messages and acquire CA-IDMS system information (#WTL, #ACCEPT).

Additionally, CA-IDMS-DC manages the terminal network, controls the task dispatching process, and uses service tasks as necessary to support system facilities such as terminal paging.

CA-IDMS-CV database services allow the application to OBTAIN, MODIFY, STORE, ERASE, and KEEP database records. During request processing, CA-IDMS-CV writes to the CA-IDMS journal files images of database records before and after update. Applications can programmatically choose to COMMIT or ROLLBACK changes made to the database.

These services provide a basis for the development of sophisticated online, real-time applications written in assembler, COBOL, or PL/I. Applications can be either conversational or pseudo-conversational.

Two reports in the StrobePerformance Profile can help you isolate the control sections responsible for a majority of the CPU activity. The Transaction Usage by Control Section report identifies which control sections within each transaction consumed the most CPU time, and the Program Usage by Procedure report details each control section so that you can determine the exact area of code that is executing. You can use that information to isolate the exact statement that caused the activity and then modify the code to make it more efficient. Once the code has been modified, you can rerun the measurement session and compare the resulting Performance Profiles to determine whether the change was effective.

CA-IDMS-DC online applications are often created using ADS/O. It is an application development system and fourth-generation language that facilitates rapid development through using an online-based approach and automating functions such as 3270 panel processing and pseudo-conversational programming.

Strobefor Advantage CA-IDMS identifies ADS/O dialogs, online programs, and external run units that cause CPU activity. Strobereports on ADS/O dialogs in the Dialog CPU Summary and details activity for each dialog version in the CPU Usage by ADS/O Statement reports. Detailed information is broken down by statement, process version, dictionary name, and dictionary node so that the ADS/O application developer can quickly locate the appropriate dialog using the summary and then use the detailed reports to isolate the processes and statements that consumed the most CPU time. On the Attribution of CPU Execution Time report, Strobeidentifies the ADS/O dialog’s transaction, dialog name, location, process name, and version that is consuming CPU resources.

The Attribution of CPU Execution Time report also identifies online programs and external run units that cause CPU activity. Strobeidentifies activity caused by online programs by their transaction, module, control section, hexadecimal offset, DML sequence number, function, and version. Strobe identifies activity caused by external run units by their batch job name (in the transaction column) program name, DML sequence or SQL line number, and function.

To produce meaningful Dialog reports in the StrobePerformance Profile, you need to have generated diagnostic tables when you compiled your dialogs. If these tables do not exist, Strobe can attribute activity only to an ADS/O FDB CME offset, not to an actual statement number, and it cannot index any of the dialogs.

CA-IDMS Central Version Batch Mode

Database applications can be developed using assembler, COBOL, or PL/I for batch execution. These applications typically handle large amounts of data and run concurrently with online processing. They execute in a separate region and have access to the same Central Version database as the online region. When the application is ready to begin database access, it signs on to the CV that it will call to satisfy DB DML and SQL requests for database records. The CV fulfills the request and returns the data to the application. All CA-IDMS DB DML commands are available with batch to facilitate database I/O, but only a limited subset of DC DML commands are available since a full data communications environment does not exist.

Strobefor Advantage CA-IDMS attributes wait time in CA-IDMS Central Version batch jobs to the database DML or SQL statement responsible for causing the wait. In the Attribution of CPU Wait Time report, Strobefor Advantage CA-IDMS pinpoints exactly where developers should focus their improvement efforts. The report shows the modules, control sections, DML or SQL statement offsets, and, if available, the DML sequence numbers or SQL line numbers, of the statements that caused CPU wait time.

CA-IDMS Local Mode Batch

Database requests are issued from the batch region, a complete single-user database environment allocating and controlling all database files, DBMS programs, and database buffers. All DB DML and SQL requests for database records are satisfied completely within the batch region. There is no dependence on the Central Version online region.

Strobefor Advantage CA-IDMS attributes wait time in CA-IDMS local mode batch jobs to the database DML or SQL statement responsible for causing the wait. In the Attribution of CPU Wait Time report, Strobefor Advantage CA-IDMS pinpoints exactly where developers should focus their improvement efforts by showing the modules, control sections, DML or SQL statement offsets, and, if available, the DML sequence or SQL line numbers, of the statements that caused CPU wait time.

CA-IDMS-DC/CV-UCF Mode

The CA-IDMS-DC/CV-UCF mode permits the use of CICS (and other teleprocessing monitors) to submit transactions to an active CA-IDMS-DC/CV online region. The transactions are executed by the CV region and the results returned to the CICS region. The terminal user issuing the original transaction on CICS is not aware of where execution occurs. UCF allows an installation that has chosen CICS as its standard teleprocessing monitor, for example, to be able to execute CA-IDMS-based applications, including ADS/O, through CICS.

Additionally, the application developer can issue CA-IDMS DB DML and SQL requests for database records contained in a CA-IDMS Central Version database from within CICS command- or macro-level assembler, COBOL, and PL/I programs.

Strobefor Advantage CA-IDMS can be used to measure the CA-IDMS-DC/CV regions where the actual application activity is taking place. If you want to analyze another teleprocessing monitor, such as CICS, that is shipping transactions and DML or SQL requests to a CA-IDMS-DC/CV region, examine the Transaction Summary and the Transaction Usage by Control Section reports. In these reports, check the following:

  • Transaction names, if you are analyzing a shipped transaction
  • CICS region job names, if you are analyzing a DML request shipped from a CICS application program.

If a transaction is shipped to CA-IDMS via UCF for execution, all the transaction’s activity occurs within the CA-IDMS-DC/CV region. If a DML or SQL request is shipped by a CICS application program, the CICS region is acting as an external requestor of database services. For more information, see the section titled Transaction Reports.

Identification of Activity in Load Modules

Strobeidentifies activity within CA-IDMS system modules — load modules that have names beginning with IDMS or RHDC — to the pseudo-section .IDMS within the pseudo-module .SYSTEM. The true name appears as a procedure within .IDMS. Strobefor Advantage CA-IDMS provides function descriptors for the CA-IDMS modules.

To obtain detailed reporting on a CA-IDMS module, specify its name with the DETAIL parameter of the StrobeCommand Language. For a detailed explanation of the reporting options, refer to the User-Guide.

Identification of Activity in Task Codes

CA-IDMS system tasks are identified with a pseudo-task code that indicates the function of the task. The following table lists the Strobepseudo-task codes and the tasks they represent.

CA-IDMS Pseudo-Taskcodes (Transactions)

Pseudo-name

Description

*LDRVR*

CA-IDMS DC Line Driver Task

*PDRVR*

CA-IDMS DC Printer Driver Task

*DBRC*

CA-IDMS DC Database Recovery Control Task

*ERUS*

CA-IDMS DC External Run-unit Service Task

*FACTOT*

CA-IDMS DC Factotum Task

*HELOT*

CA-IDMS DC Helot Task

*MSTR*

CA-IDMS DC Master Task

Strobe-Generated Module Names

The Strobe-generated module name IDMSXXX represents activity within CA-IDMS-managed storage areas that cannot be attributed to a specific load module.

The Strobe-generated module name IDMSSVC represents activity within a CA-IDMS-managed control block that issues SVC calls to the CA-IDMS SVC.

Other Pseudo-Names

In some cases, neither the Strobesampling routines nor Strobefor Advantage CA-IDMS can identify the executing CA-IDMS or MVS module. In these cases, Strobeattributes execution to a pseudo-section according to the location of the executable code within the address space. For more information, refer to the Interpretation-and-Analysis-User-Guide.

Benefits of Strobe for Advantage CA-IDMS

Strobefor Advantage CA-IDMS will help you throughout the application life cyclein the following areas:

  • In design and build, to assess alternative programming techniques by measuring the performance of various test cases
  • In test and quality assurance, to confirm design assumptions about new or modified application resource requirements
  • In production to ensure the performance of ADS/O and CA-IDMS batch programs and usage of CA-IDMS services
  • In maintenance, to assess the impact of changes in business requirements and data volume on the performance of ADS/O and CA-IDMS batch applications and the CA-IDMS database management.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*