Interpreting time data
API request time data is provided for both API provider and API requester to enable problem determination.
API provider timeouts
When running IBM® z/OS® Connect in asynchronous mode
and an API or service request times out, the client receives a 503 HTTP status response but request
processing can continue asynchronously. Interceptors are called for the asynchronous request
processing. When the asyncRequestTimeout
expires for a request, the
Data.REQUEST_TIMED_OUT
flag is set. The Data.HTTP_RESPONSE_CODE
is
set to the result of the asynchronous request processing, which might complete successfully. The
CICS service provider includes support for the asyncRequestTimeout
, so when the
asyncRequestTimeout
expires for a request, asynchronous processing of the request
ends and a request is sent to CICS to purge the transaction, if appropriate.
API requester timestamp data
Table 1 shows how the timestamps are set that
enable the calculation of the time spent in IBM z/OS Connect ,
the time to obtain one or more access tokens for the request and the time for
the API endpoint to process the request. For requests that do not use access tokens,
DataRequester.TIME_TOKEN_GET_START
and DataRequester.TIME_TOKEN_GET_FINISH
are not set.
If the request response is a 401 authentication failure, the request is retried once with one or more
new tokens. The time between DataRequester.TIME_ENDPOINT_SENT
and
DataRequester.TIME_ENDPOINT_RECEIVED
then includes the time to make both the first and
second request to the endpoint and the time to get the new token(s) from the authorization
server.
Step | Timestamp setting and request flow |
---|---|
1 | Request sent from communication stub to IBM z/OS Connect .
|
2 | Request enters IBM z/OS Connect server.
|
3 | Request authentication, authorization and data transformation. |
4 - if access token(s) required | If access tokens(s) required for request, start acquisition.
|
5 - if access token(s) required | Access token(s) obtained from cache or authorization server.
|
6 | Request sent to endpoint.
|
7 | Response received from endpoint.
|
8 - if 401 failure | If request received an authentication failure response, new access token(s) obtained from authorization server. |
9 - if 401 failure | Request sent to endpoint.
|
10 - if 401 failure | Response received from endpoint.
|
11 | Response data transformation. |
12 | Response returned from IBM z/OS Connect server.
|
1 | Response received in communication stub. |