In any case, measurement of a user transaction starts with a call to startUTA. If the complete user transaction is executed within a single control flow, any number of startSTA/stopSTA-pairs might follow (to measure individual subtransactions). At an arbitrary point during execution, a call to stopUTA informs the measurement correlator that the result of the transaction has been presented to the user.
If additional control flows are started during execution, the measurement correlator is informed via addControlFlow. Analogously, a control flow leaving execution of a transaction causes a call to removeControlFlow.
The most complicated case is activation of existing control flows. As
an example, figure shows a sequence diagram of a remote
procedure call (RPC). The local application uses a communications
mechanism to transparently call the remote server. The communications
mechanism issues an initiatedTA-call to receive a unique
identifier for the current invocation from the local measurement
correlator. This identifier is then transparently transmitted to the
remote system and given to the remote measurement correlator as a
parameter in a startSTA-call. Then the remote server is
activated. While executing, the remote server again uses
startSTA/stopSTA-calls (to the remote measurement correlator) in
order to provide detailed information about its further
subtransactions. Before returning to the calling system, the
communications mechanism issues a stopSTA-call to the remote
measurement correlator to inform it about the end of the
subtransaction. Using the exchanged identifier, management
applications later can easily correlate the remotely executed
subtransactions to the appropriate user transaction.