Using the CICS internal trace to profile and resolve application problems
IBM® CICS® Transaction Server for z/OS® continues to be mission critical for the global economy, processing billions of transactions per day to drive our world’s commerce and financial maze. Organizations are continually extending and evolving their CICS applications to meet the demands of a modern and competitive business.
New development in Java, either distributed or running in CICS, often interoperates with legacy (COBOL) systems, posing new challenges in terms of understanding and optimizing the use of finite mainframe resources.
IT professionals face a daily challenge to ensure the smooth operation of their investment in CICS, all the while dealing with inevitable cost pressures.
Measuring transaction performance with a product like IBM CICS Performance Analyzer is an important first step, but it is not enough. You need the ability to understand exactly what your applications are doing, at each phase of their execution, to verify the accuracy and timeliness of application calls that access databases and other business information data sources.
IBM and other vendors certainly have tools to help you diagnose and fix problems in CICS. But typically these are resource intensive and not viable in production environments where the overhead can slow and distort transaction throughput to unacceptable levels.
Rocket Software have solved this problem by exploiting an intrinsically valuable and under-utilized record of system activity—the CICS Internal Trace.
The Internal Trace is a trail of system and application events in CICS; difficult to interpret, and accessible only when a transaction abnormally terminates or when the operator requests it be externalized to data sets—both undesirable in terms of system availability and overhead.
What Rocket has achieved, in real time, is extracting useful information from the internal trace with minimal additional overhead, and no change to the CICS region (assuming the internal trace is started).
Consider how the trace looks today using standard formatting methods:
CICS uses Point IDs to represent the thousands of transaction and system events that occur when transactions are processed. Patience and many years of experience are required to diagnose an application problem using trace, the only means at your disposal. Add to this a common scenario where applications ship function across multiple regions, each with their own trace, requiring a tedious manual process of matching events across multiple reports.
Now imagine if you could interpret these events from the viewpoint of the application developer:
- The application in its entirety, isolated from the additional noise in the trace, and spanning every CICS (MRO) region where it executed
- The application calls for each program, with statement number for reference, the response code to identify a problem, and the elapsed time to identify a hotspot
- Each call formatted with its application data, including calls to Db2®, MQ and IMS™ subsystems
Rich application detail can be obtained without a single additional exit, agent or line of code running inside of CICS.
Consider the benefits of being able to:
- Profile a transaction across system and program boundaries to gain an understanding of its flow and application calls
- Diagnose an application problem in any environment, including production, in near real-time
- Identify the root cause of a problem where the raw-trace events associated with a slow or failed application call can immediately pinpoint the low-level exception or wait
- Expose bad CICS citizens, like storage hogs whose GETMAIN requests can be ordered by size and tracked back to the program statement
- Spot inefficiencies in transaction processing, such as excessive TCB switching that might be avoided with threadsafe
- Examine interdependencies between programs and resources where affinities can thwart application modernization and region consolidation efforts
These benefits are now within reach. Rocket Software has recently announced C\Prof, an innovative new tool for CICS systems and application programmers.
In an age where everyone is time-poor because of additional management-mandated responsibilities, time-to-value is crucial when evaluating a better way to work. You should expect:
- The configuration process to be a few simple steps—minutes, not hours or days to prepare
- Out-of-the-box support for your environment, including the auto-discovery of your CICS topology
- Low impact: No change to your CICS regions, including no additional resource definitions or exits
- Secure access wherein end-user authority is checked against existing (not new) site rules
- Graphical user experience: Where detailed technical information is presented alongside explanatory charts valuable to both the CICS expert and those new to the platform
If you would like to learn more about the CICS trace and how it can be used to advantage in your organization, then please contact me directly, or Ezriel Gross our CICS Solutions Advisor at egross@RocketSoftware.com