Asynchronous callback with synchronous implementation
You can obtain Application Response Measurement (ARM) statistics when callback requests
and callback executions use different threads on a synchronous implementation.
Parameters
Event monitoring for Service Component Architecture (SCA) components includes the event points
that are shown in black
, while the event points shown in blue
are used only to calculate and fire PMI/ARM statistics.
In Table 1 and Figure 1, the
currentARM transaction (denoted as
X1) is created when the calling service component was invoked for the
first time. If the caller is not a service component, the current ARM transaction is used, or a new
one is created. If it is not the starting transaction, it has a parent, as represented in the
following table and diagram with the notation Xn.Xn+1. The
notation is used to show the transaction lineage. Every SCA invocation starts a new transaction,
which is parented by the current transaction of the caller. You can create new transactions and you
can access the current transaction, but you cannot modify the SCA transaction lineage.| Type | Statistics | Formula | ARM Transaction |
|---|---|---|---|
| Common | TotalResponseTime | t2 - t0 |
X0.X1 |
| RequestDeliveryTime | t'0 - t0 |
X1.X2 |
|
| ResponseDeliveryTime | t2 - t'1 |
||
| GoodRequests | CountEXIT |
||
| BadRequests | CountFAILURE |
||
| ResponseTime | t3 - t2 |
||
| Reference | GoodRefRequest | CountEXIT |
X1.X2 |
| BadRefRequests | CountFAILURE |
||
| RefResponseTime | t'1 - t'0 |

| Type | Statistics | Formula | ARM Transaction |
|---|---|---|---|
| Callback | GoodCB | CountEXIT |
X1.X3 |
| BadCB | CountFAILURE |
||
| CBTime | t3 - t2 |