Request monitoring exits

Request monitoring exits provide information about individual requests as they are processed by CICS® Transaction Gateway.

Exit points in the product allow user code to be run in the context of each individual transaction. This context allows the user code to take action based on information specific to the current request. For example, an exit might be written to trigger an alert if an individual transaction runs for longer than a specified time. You use request monitoring exits to analyze transaction flows to assist with problem determination and performance tuning. Samples exits are provided; these demonstrate how request exits can be used.

The Java™ based request monitoring exits are available on the Gateway classes and the Gateway daemon and can be stacked, enabling multiple exits to be driven for an individual request. Exits are called for each ECI flow at the point of request entry to, and response exit from, the CICS Transaction Gateway code. The data available to the exit depends on the type of ECI flow and the point at which the exit is driven from.

The data values available to request monitoring exits are passed to the RequestExit eventFired() method.

Table 1. Data available to request monitoring exits
Request data description Description
Channel Channel that is associated with the request.
CicsAbendCode CICS abend code on a response.
CicsReturnCode CICS return code on a response.
CicsServer Server to which CICS Transaction Gateway sent the request.
ClientCtgApplid APPLID of the Client application.
ClientCtgApplidQualifier APPLID qualifier of the Client application.
ClientCtgCorrelator Correlator that was generated by the Java client application.
ClientLocation The location of the Client application (IP address).
ClientProtocol Protocol that was used by the client application to send the request.
ClientType Type of the client application that sent the request.
ClientVersion Version of the CICS TG client that sent the request.
CommandData Command data that originated from a request monitor exit administration request.
CtgApplid If the FlowTopology is "Gateway", this is the Gateway daemon APPLID, otherwise it is the client application APPLID.
CtgApplidQualifier If the FlowTopology is "Gateway" this is the Gateway daemon APPLID qualifier, otherwise it is the client application APPLID qualifier.
CtgCorrelator CICS Transaction Gateway identifier that is used to track this flow within the CICS Transaction Gateway instance.
CtgReturnCode CICS Transaction Gateway return code on a response.
DistributedIdentity Distributed identity that is associated with this transaction.
FlowTopology

Topology from which the request exit was called:

  • Gateway - from the Gateway daemon
  • RemoteClient - from a remote client
  • LocalClient - from a local client
FlowType Flow type of this request or response.
GatewayUrl URL of the Gateway to which the Java client is connecting.
HttpPath URI that the request was sent to.
HttpPayload HTTP payload data (JSON) that is associated with the request or the response.
HttpStatusCode HTTP status code on a response.
HttpVerb HTTP verb for this request.
Location Location of this monitor. The value is an IP address.
LuwToken CICS Transaction Gateway logical unit of work token.
OriginData Data identifying the Client application that originated a CICS task and that contains the APPLID and APPLID qualifier. This data is available only when using the IPIC protocol.
PayLoad Copy of the COMMAREA for use in the exit.
Program CICS program name.
RequestReceived Timestamp of request flow received in the Gateway classes or Gateway daemon classes; number of milliseconds since January 1, 1970, 00:00:00 GMT.
RequestSent Timestamp of request flow sent from the Gateway classes or Gateway daemon classes; number of milliseconds since January 1, 1970, 00:00:00 GMT.
ResponseReceived Timestamp of response flow received in the Gateway classes or Gateway daemon classes; number of milliseconds since January 1, 1970, 00:00:00 GMT.
ResponseSent Timestamp of response flow sent from the Gateway classes or Gateway daemon classes; number of milliseconds since January 1, 1970, 00:00:00 GMT.
RetryCount Number of times the Gateway daemon retried sending a request to CICS.
Server Server specified in the request.
TpnName TPN name.
TranName Transaction ID.
Userid User ID.
WireSize Number of bytes of data received from or about to be sent to the remote client.
WorkerWaitTime Period in milliseconds that the Gateway daemon waited for a worker thread to become available to process the request. If the Gateway daemon times out waiting for a worker thread to become free, this value contains the time in milliseconds that the Gateway daemon waited before the timeout occurred.
XaReturnCode XA return code on a response.
XctCurrent The identifier for this transaction.
XctParent The identifier for the parent of this transaction.
XctRoot The root identifier for this transaction.
Xid XID for XA transaction.