Correlators are used
to track parent and child transactions. A primary or parent transaction
can contain several component or child transactions nested within
it. Child transactions can contain other child transactions. It can
be useful to know how much each child transaction contributes to the
total response time of the parent transaction. If a parent transaction
fails, knowing which child transaction contains the failure is useful.
Correlators can be recorded
when you use the ARM appender. You obtain correlated transaction by
default when you use the MANAGECORRELATORS parameter. When specified,
transaction correlation is enabled for all ARM transactions processed
by the ARM appender. The transaction correlators are in the SAS logging
facility configuration file or in your SAS program. See
ARM Appender Configuration Parameters for the appropriate format and specification for the configuration
file.
The following table
shows the transaction correlation behavior in certain events when
the MANAGECORRELATORS parameter is enabled (VALUE=TRUE) by the SAS
logging facility:
SAS 9.3 Transaction Correlator Behavior
|
SAS Logging Facility
Transaction Correlator
|
|
|
|
A default SAS transaction
is started and ARM.CurrentCorrelator is created by the default SAS
transaction. The default SAS ARM.CurrentCorrelator becomes the ARM.ParentCorrelator.
Each %ARMSTRT or %PERFSTRT macro creates a new ARM.CurrentCorrelator.
|
SAS 9.1 and 9.3 %ARMSTRT
macro; SAS 9.3 %PERFSTRT macro
|
|
The previous ARM.CurrentCorrelator
becomes the ARM.ParentCorrelator.
|
|
The value is created
by the correlator associated with the %ARMSTRT or %PERFSTRT transaction
event.
|
SAS 9.3 ARMSUBSYS=START
transaction event
|
|
The previous ARM.CurrentCorrelator
becomes the ARM.ParentCorrelator.
|
|
The value is created
by the correlator associated with the %ARMSTRT or %PERFSTRT transaction
event.
|
SAS 9.1 and SAS 9.3
%ARMSTOP macro; SAS 9.3 %PERFSTOP macro; or ARMSUBSYS=STOP transaction
event
|
|
All information associated
with the current transaction is cleared from the ARM infrastructure
and the parent transaction is maintained.
|
If the MANAGECORRELATORS
parameter has VALUE=FALSE, you must define and manage the parent
correlators.