Strobe for CICS Overview
Strobe is a product that determines where and how time is spent in an online subsystem or batch processing program. Strobe for CICS extends the functions of the basic Strobe product by providing several report options to help you identify performance improvement opportunities in a CICS region.
Introduced in Strobe 16.03, Strobe also provides the ability to submit a single request to measure multiple CICS regions by specifying a single CICSPlex name. This request is available only through the iStrobe Measurement Requests form. Without additional customization, Strobe locates the active CICSPlexes by querying the active CMAS on the target system and returns the list for selection of a single CICSPlex. Strobe queries the selected CICSPlex and identifies the connected CICS regions, submitting ADD requests for all regions but with existing limitations:
- Strobe's MAXACT parameter in the PARMLIB member can prevent some connected regions from being added on the CICSPlex request. Review the Strobe MAXACT parameter and adjust considering the largest number of defined regions to any of your CICSPlexes.
- The Strobe multisystem parameter XCFGROUP in the PARMLIB member will be required regardless whether your CICSPlex spans LPARs in a sysplex.
- An existing measurement already running in any of the connected regions. If one of the connected CICS regions already has an active measurement running, the request submitted as part of the CICSPlex request will fail the same as if submitted individually.
- For CICS regions running Db2, Db2 limits the number of active IFI traces to 8, per Db2 Subsystem. The measurements exceeding 8 active Db2 IFI traces will continue but will be lacking Db2 data in their profiles.
For details on locating and selecting active CICSPlexes and then viewing the resulting profile, refer to the iStrobe documentation.
The CICS reports will help you to:
- Target, identify, and understand performance problems for a specific transaction or a set of transactions
- Identify bottlenecks within a specific CICS region caused by transactions waiting for a resource
- Evaluate the impact of new and existing applications on your CICS region
- Develop standards for using CICS services
- Make your CICS applications more efficient in using available CPU and I/O resources.
Using AutoStrobe with Strobe for CICS
You can use AutoStrobe with Strobe for CICS to automatically trigger a measurement whenever a transaction exceeds a CPU or response time threshold that you specify. This process is called transaction monitoring.
You can also use AutoStrobe to create a list of potential CICS transactions called candidates, for monitoring. For more information about using AutoStrobe for monitoring CICS transactions, refer to the Using-Strobe-to-measure-online-applications-and-batch-programs.
Strobe for CICS benefits
Strobe for CICS provides three separate options for identifying performance improvement opportunities in a CICS region depending on the type of reports you have requested.
- The Strobe CICS Transaction Profile provides the most robust, detailed view of transaction performance, including delay and suspend time.
- The CICS Region-Level reports help you identify the CICS resources that are the cause of transaction suspend or dispatch delay.
- The Strobe CICS Performance Supplement focuses on CPU use associated with a transaction.
When you analyze a Performance Profile for the CICS environment, select the CICS Transaction Profile, the CICS Region-Level reports, or the CICS Performance Supplement depending on the focus of your analysis. These reports provide the data that you need to focus on specific CICS application performance problems. Refer to the following table to determine which approach best suits your needs.
Focus | Suggested Approach |
---|---|
CPU use | Measure the region and request that Strobe collect Region Level data. Review the Transaction Summary and identify the transactions responsible for the most CPU use. Measure the region again requesting a Transaction Profile for the transactions in which you are interested. |
Response time or wait time | Measure the region and request that Strobe collect Region Level data. Review the Transaction Summary, and determine which transactions are being delayed or suspended. If appropriate, measure again specifying a Transaction Profile for suspect transactions. Review the Region-Level reports and determine which resources are responsible for the high suspend or delay. |
Undecided | Measure the region and request that Strobe collect only Region Level data. Review the Transaction Summary to determine if transactions have high CPU use or have high suspend and delay times. If high CPU use is a problem, measure the region again, requesting a Transaction Profile for the transactions in which you are interested. Review the Region-Level reports to see if a particular resource is causing high suspend or delay times. Or, you can use AutoStrobe to create a list of transaction candidates for a CICS region, based upon threshold values you supply. For more information, see Using-Strobe-to-measure-online-applications-and-batch-programs. |
The following sections describe the different sets of reports that are available to you with Strobe for CICS.
Strobe for CICS transaction profile
With Strobe for CICS, you can obtain unified, detailed information on all aspects of performance for specific transactions or groups of transactions. This information is grouped in a series of reports called the Strobe for CICS Transaction Profile. You must be measuring CICS Transaction Server Version 1.3 or later for Strobe to produce a CICS Transaction Profile.
Although the CICS Performance Supplement details the causes of transaction CPU use, it provides limited information on what causes a transaction to be suspended. The Strobe CICS Transaction Profile reports the average time transactions are delayed due to system dispatching or being suspended. When a transaction is suspended, Strobe identifies the command and resource for which the transaction is waiting. For example, if a transaction is waiting on a read to a VSAM file, Strobe reports the program and offset issuing the read, the DD being read, and the resource type causing the wait.
- The Transaction Summary report provides high-level information for all user, mirror, system, or Strobe-generated pseudo-transactions. For user and mirror transactions, it attributes mean service time to the following categories: dispatch delay (the transaction is ready to execute but waiting to be dispatched), suspend (the transaction is waiting for a resource), and execution (the transaction is running). For user and mirror transactions, it also indicates whether detailed transaction information has been provided. It provides execution counts for user transactions, mirror transactions, and most system transactions. It shows CPU consumption for all transactions.
- The Transaction subreports detail the performance of a single transaction. These reports provide a breakdown of transaction service time and wait time (both SUSPEND and DISPATCH DELAY), and attribute observed activity back to the CICS API or subsystem API. For each transaction detailed in the Transaction Summary, there are three subreports:
- CICS API Service Time shows, for a transaction, the subsystem API commands that Strobe identified within a module and control section. The report shows the command, the resource that the command is targeting, the DBRM statement number (where applicable), the offset from which the command was issued, and the mean service time, which is attributed to suspended and executing states. If you have Strobe for Db2, Strobe for IMS, or Strobe for WebSphere MQ installed, Strobe will attribute the activity back to the command in the program that issued the subsystem call.
- CICS API Service Time Detail provides further detail for the information provided in the CICS API Service Time report, breaking down suspend and execution time into more discrete components. This subreport also provides function descriptor (brief explanations of the resource targeted by the command).
- CICS Non API Service Time accounts for service time that is not directly related to API commands. For resource type and resource name, this report shows the dispatch delay and suspend time. For modules and control sections, it shows execution time.
Strobe for CICS region-level reports
With Strobe for CICS, you can obtain an aggregate view of wait time in a CICS address space that helps you to identify system-level bottlenecks within a CICS region. This information is grouped into two reports called the CICS Region-Level reports.
The CICS Region-Level reports identify transaction wait time as time spent in either the SUSPEND or DISPATCH DELAY states. A transaction that is in the SUSPEND state is usually waiting for the availability of a resource (such as storage) before it is able to execute. A transaction in the DISPATCH DELAY state is ready to execute, but has not yet been allocated time on a processor. For DISPATCH DELAY, the source of the delay may be either MVS dispatcher or the CICS dispatcher. The CICS Region-Level reports provide an overall picture of suspend and dispatch delay time across an entire CICS address space. There are two Region-Level reports:
- Region Suspend by Class provides the percentage of region suspend time and the average transaction suspend time for the various categories of suspend reasons.
- Region Suspend by Resource Within Class provides for each of the categories of suspend reasons, the resource type, the resource name, a description of the resource type that was suspended, the percentage of the region suspend time, and the average suspend time for a transaction.
Strobe for CICS performance supplement
By attributing CPU activity to transactions by transaction identifier, the CICS Performance Supplement details the causes of transaction CPU use and makes it possible for you to determine the total processing burden imposed by each transaction defined to CICS. Analyzing resource usage by the program components that process each type of transaction can help focus your performance improvement efforts. Request the CICS Performance Supplement when you want to identify the CPU use associated with the transactions in a CICS region or if you want to examine CICS-generated statistics.
The CICS Performance Supplement includes the following reports:
- Time Distribution of Transaction Activity Level shows, for the duration of the measurement session, the interactive transaction load placed on the CICS region and the level of performance of CICS under the transaction load. This report has four subreports: Time Distribution of Transaction Arrivals, Time Distribution of Transaction Service Time, Time Distribution of Data Base Operations, and Time Distribution of Transaction Inputs, Processing, and Outputs.
- Transaction Activity shows the processing details for individual transactions and transaction processing programs. It contains the following subreports: Transaction Summary, Transaction Exceptions, Processing Program Statistics, and CPU Usage by Control Section for Transaction name.
- Network Activity shows the data communication operations that CICS performed during the measurement session to collect transactions and input messages from terminals and to deliver output messages to terminals. It has two subreports: Terminal Statistics and Terminal Exceptions.
- Input-Output Activity shows the input and output activity for all CICS files that were active during the measurement session. It has three subreports: Summary of Input-Output Operations, Data Base Operations, and Number of Output Operations to Transient Data Queues.
- Configuration Parameters and System-Wide Statistics shows several counts that apply to the entire CICS region and the values of several CICS parameters that affect the performance of the region. It has seven subreports: Task Statistics, Classed Tasks Statistics, Storage Statistics, VTAM Statistics, Temporary Storage Statistics, Transient Data Statistics—Buffer and String Statistics, and Miscellaneous Statistics.