Interpreting Strobe CICS transaction profile


This topic describes the Strobe CICS Transaction Profile produced by Strobe for CICS for application transaction measurement. These reports provide detailed information for the transactions you specified when you submitted the measurement request. CICS-Transaction-Profile provides field-by-field descriptions of all reports and possible field values.

Analyzing CICS Transactions

The Strobe CICS Transaction Profile contains extensive data about the performance of the CICS transactions in the CICS region you measured. During a Strobe measurement session, Strobe for CICS records information about the state of the transaction at the time of each sample. The Transaction Profile reports provide a comprehensive view of the total response time incurred every time a CICS transaction runs. Response time, as defined by Strobe, consists of three different states:

  • Execution State is the time spent executing instructions.
  • Suspend State is the time spent waiting for an external event or resource.
  • Dispatch Delay State is the amount of Suspend State specifically spent waiting for queue or dispatch time.

Each of these response time measurement data are presented in four types of Transaction Profile reports. The following sections describe these reports.

Success

Tip

You can use AutoStrobe with  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 candidatesfor monitoring. For more information about using AutoStrobe for monitoring CICS transactions, refer to the  Using-Strobe-to-measure-online-applications-and-batch-programs.

Transaction Profile Reports

The Transaction Profile contains four types of reports. The reports provide different levels of information about transaction states and indicate, at the time of sampling, whether a transaction was directly engaged in CICS-related activity or was performing work not directly related to CICS. The following list describes the Transaction Profile reports:

  • CICS Transaction Summary report provides lists of all transactions Strobe observed running during the measurement session. For each transaction, the following is reported:
    • Number of times it executed (user, pseudo, and system transactions)
    • Amount of CPU time consumed reported as a percentage of CPU used by the CICS address space (user, pseudo, and system transactions)
    • Average number of seconds a user transaction spent in suspend, dispatch delay, or execution state (user transactions only).
  • CICS API Service Time report displays EXEC CICS commands (and also Db2, IMS, and MQSeries commands if the Strobe option is installed) as observed during transaction sampling. It also displays the resource consumption for each CICS API by offset and module CSECT.
  • CICS API Service Time Detail report identifies the resource associated with the CICS API call that is causing execution or suspend time. A brief function descriptor is provided for each resource. You can use the resource type for the transaction to make a cross-reference in the CICS Problem Determination Guide.
  • CICS Non-API Service Time report identifies transaction activity that was not directly related to CICS API services. It provides an account of time spent in Dispatch Delay state by resource type and, if appropriate, resource name. It also shows non-API execution time for the transaction by module and CSECT.

Reviewing Measurement Data

Before analyzing a transaction with the Transaction Profile reports, first examine the Measurement Session Data report. This report reveals whether the CICS transaction activity that you want to study was correctly measured by Strobe. Check to verify that all reporting parameters values you specified were in effect and whether the run and CPU margin of error percent are less than 2%. If this report shows you measured the desired CICS region and the Performance Profile contains the information you require, you can proceed with your application analysis.

CICS Transaction Summary Report

The first report to examine is the Transaction Summary report. It lists transactions that Strobe found running during the measurement session. For the CICS Transaction Profile, the Transaction Summary report lists the average number of seconds Strobe found the user transactions in one of the following states:

  • Executing
  • Suspended waiting for a resource
  • In queue ready for dispatch.

During the measurement session shown in this example, Strobe found transaction LCOM frequently waiting to be dispatched. It ran nine times and was in a state of execution during 4.77% of the session. For LCOM, the following on-average values were found:

  • 4.332 seconds were spent in dispatch delay state
  • 17.395 seconds were spent in suspend state
  • 0.418 seconds were spent in execution state
  • A total of 22.13 seconds were spent each time LCOM ran.

When a transaction shows a high suspend or execution time, examine the CICS API Service Time reports for the transaction. If the transaction shows a high value for dispatch delay state, look at its CICS Non-API Service Time report.

This Transaction Summary report shows that transaction LCOM spent the highest average time in suspend state. Therefore, the next report to examine is the CICS API Service Time report.

Transaction Summary Report

image2021-2-5_12-58-40.png

CICS API Service Time Report

The Transaction Summary Report shows that each time transaction LCOM ran, on average, it spent 17.39 seconds in the suspend state. The CICS API Service Time report (CICS API Service Time Report) provides you with an account of the amount of time each command issued by a transaction program was in suspend or execution state.

A transaction that is in the suspended state is usually waiting for the availability of a resource, such as access to a file, before it is able to run. When a transaction is in dispatch delay state, it is fully ready to run, but hasn’t received a signal to proceed.

Several types of EXEC CICS API commands executed during the measurement session. These commands might be file or program control commands or transient data commands. For each command, the file or program name or transient queue name is listed under the COMMAND RESOURCE column. Under this heading, Strobe will generate this information for the following product types, provided the appropriate option is installed:

  • Db2—the DBRM name
  • IMS—the Program Specification Block (PSB) name
Success

Tip

.COMPRES is a pseudo command name that aggregates EXEC CICS commands when their mean service time for both execution and suspend states are below the CICS TRANSACTION PROFILE threshold. This threshold is specified as seconds in the Compress below field on the - Tailor Reports panel.

The OFFSET column heading contains the offset of the command within the section where activity took place. The commands are ordered by offset, command within offset, resource within command, and, for Db2, the DBRM name within the resource. The Db2 executing statement number also will be listed under the STMT# column.

Success

Tip

If a common user module was specified on the  - Data Collectors panel, this report will display the following data:

  • Commands issued by the common user module are displayed in the COMMAND column for the caller of the common user module.
  • OFFSET column will display the offset of the call to the common service module.

This report example shows that Strobe found the READ and REWRITE commands directed at the command resource file STDCLCFL to be in the suspend state for 5.59 and 7.73 seconds respectively. To examine these commands more closely, proceed to the detail report for the transaction.

Warning

Important

The CICS API Detail report may not show any data if you set a high Compress below value on the  - Tailor Reports panel.

CICS API Service Time Report

image2021-2-5_13-2-13.png

CICS API Service Time Detail Report

The CICS API Service Time Detail report (CICS API Service Time Detail Report) contains an in-depth breakdown of the performance for each API command shown in the CICS API Service Time report. Execution time is shown against each load module that Strobe found executing as a result of the command. Suspend time is broken down by the suspend reason type and name. A command does not appear if the sum of its mean suspend and execution service time does not equal or exceed the threshold set for the transaction to be profiled. If no commands meet the threshold, the report will not be generated.

In this example, the STARTBR command spent an average of 2.54 seconds in suspend state due to command resource STDCLFCL. Also, the READ command spent 5.59 seconds on average in suspend state due to STDCLFCL. The report shows that a large amount of suspend time relates to the resource type FCPSWAIT, which indicates a wait for a private string. You can increase the value of the CICS STRINGS parameter or change the program logic so that strings are released more quickly.

A typical situation where strings could be held for excessive time is when a conversational transaction issues a STARTBR or READNEXT command and then begins a “wait for terminal input” without issuing an ENDBR. The browse remains active until the ENDBR, which causes a VSAM string and a control interval (CI) lock to be held over the terminal wait. The CI lock held by the browse is a probable explanation of the poor performance seen for the REWRITE command. Refer to the IBM CICS Problem Determination Guide for more information about resource types and how to correct CICS transaction application code.

CICS API Service Time Detail Report

image2021-2-5_13-3-33.png

Success

Tip

The two-letter prefixes that start each function descriptor are internal IDs that  uses to place the descriptors in the correct columns.

CICS Non-API Service Time Report

Some of the transaction activity in the application you are measuring, for example, the execution of COBOL instructions, may not take place within any CICS service. To provide information about this activity,Strobe for CICS produces data in the CICS Non-API Service Time report. The example shows the types of data that Strobe collects. The sum of the DISPATCH DELAY, SUSPEND, and EXEC fields mean service time for a transaction must exceed the CICS TRANSACTION PROFILE value set on the Strobe - Tailor Report Compress below parameter field to appear in this report.

Several pseudo-resource names and types are used in this report to identify resource types. Four ones you will commonly see in reports are:

  • .DELAY is the pseudo-resource type that indicates the transaction was ready to execute, but the TCB on which it was to run was busy servicing another task.
    • .xx-TCB is a pseudo-resource name that uses .xx to indicate the CICS dispatcher mode TCB requested (or the External Resource Manager TCB for Db2, IMS, or MQSeries). The TCBs are listed in CICS-Transaction-Profile.
    • .MVS is a pseudo-resource type that indicates the transaction was waiting for the CICS region to be dispatched by MVS.
  • .NONCICS is a pseudo-resource name that indicates that the transaction has been suspended by an External Resource Manager, but Strobe cannot identify the interface type. Installing the appropriate Strobe option may enable Strobe to determine the type of interface.

Other pseudo-resource names reported by Strobe are described in CICS-Transaction-Profile.

This report example shows that transaction LCOM was in dispatch delay state due to non-CICS activity for an average of 4.022 seconds and in execution state for 0.081 seconds. The time spent in suspend state only totaled 0.234 seconds, which indicates that the CICS transaction dispatcher is not working efficiently. Also, the .DELAY value on .QR_TCB is very high, which indicates the CICS region is overloaded.

CICS Non-API Service Time Report

image2021-2-5_13-6-0.png

 

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

BMC AMI Strobe 21.01