With the introduction of Event Processing (EP) in CICS TS V4.1, customers want to know what overhead (in terms of CPU utilization, throughput, and response times) is associated with this new feature.
Many customers will already be using some form of EP, and will be considering the implications of converting to CICS EP, while other customers will be considering it for the first time. This article reviews the processing associated with EP and potential overhead involved in its use in production environments.
How EP Works
The conditions under which an event is to be captured, and how the event is to be emitted, are defined using EP tooling, which is shipped as a plug-in for the IBM CICS Explorer. From these specifications, the EP tooling generates an Event Bind file, which is uploaded to a UNIX System Services file on z/OS and installed as a bundle resource in CICS. At CICS run-time, CICS Application Program Interface (API) commands are examined to determine if the conditions for capturing an event were met. If so, the event is emitted using one of the available EP adapters.
A major advantage of EP is that no CICS application source code changes are required.
However, where an event not associated with a CICS API command is to be captured (e.g., an SQL INSERT or MQPUT command), the source code can be modified to insert a SIGNAL EVENT command at the appropriate point in the source code. This CICS API command will then be similarly processed as other CICS API commands, and the event can be captured.
The first stage in implementing EP is to use the EP tooling plug-in for CICS Explorer. Primarily, the EP tooling is used to define the conditions that must be met for an event to be captured and the adapter used to emit the event.
Event capture specifications are used to define the conditions for an event to be captured and specify:
- CICS API commands associated with the capture process
- Specific command parameters, such as file name and container name
- Userid, transaction id, and program id issuing the API command
- Data content, such as customer id within a record.
Adapters specify how the event is to be emitted and can be: