Previous Page | Next Page

Appender Reference

ARMAppender


ARMAppender Overview

The Application Response Measurement (ARM) appender logs performance data based on ARM 2.0 and ARM 4.0 standards. It supports default transaction correlation and converts ARM transaction events that were created before SAS 9.2 into SAS log events.

This document covers only the syntax of ARMAppender. For information about using ARM in SAS , including details about using ARMAppender, see SAS Interface to Application Response Measurement (ARM): Reference.


ARMAppender Syntax

ARMAppender syntax is case sensitive.

XML Configuration
<appender class="FileAppender" name="ARM-log-name">
<param name="File" value="file-name"/>
<layout>
<param name="ConversionPattern"
value="%d,
%X{App.Name},
%X{ARM.Id},
%X{ARM.GroupName},
%X{ARM.TranName},
%X{ARM.TranState},
%X{ARM.TranId},
%X{ARM.TranHandle},
%X{ARM.ParentCorrelator},
%X{ARM.CurrentCorrelator},
%X{ARM.TranStatus},
%X{ARM.TranStart.Time},
%X{ARM.TranStop.Time},
%X{ARM.TranBlocked.Time},
%X{ARM.TranResp.Time}
"/>
</layout>
</appender>
<appender class="ARMAppender" name="ARM">

<param name="Agent" value="libarm4"/>

<param name="Encoding" value="encoding-value"/>

<param name="GetTimes" value="TRUE | FALSE"/>

<param name="ManageCorrelators" value= "TRUE | FALSE"/>

<param name="AppName" value="application-name"/>

<param name="GroupName" value="group-name"/>

<appender-ref ref="ARM-log-names"/>
      
</appender>

ARMAppender Syntax Description

appender class="ARMAppender" name="ARM"

specifies ARM as the appender name. The ARMAppender name must be ARM.

Default: None
Required: Yes. ARM must be the name of the ARMAppender.
Restriction: Only a single instance of an ARMAppender per process.
name="Agent" value="library-name"

specifies the name of the library that contains the external ARM 4.0 agent library that receives the events. See your vendor documentation for the correct library name. Two values that can be used:

value=" "

if no agent is specified, output is sent to any referenced appenders. In the syntax example, the output is sent to the file appender, "ARM-log-name".

value="library-name"

specifies the name of the library that contains the external ARM 4.0 agent library that receives the events.

Default: Output is sent to any referenced appenders.
Required: No
name="AppName" value="application-name"

specifies the name of the application. The maximum length of the value is 128 characters, which includes the termination character ( / ). This value is sent to the ARM_REGISTER_APPLICATION() function call. To override this value, specify the SAS start-up option LOGAPPLNAME=application-name.

Default: SAS
Required: No
name="ConversionPattern" value="conversion-pattern"

specifies how the log event is written to the ARM log.

Required: No
Default: None. If a conversion pattern is not specified, then the log event produces an empty string.
name="Encoding" value="encoding-value"

specifies the type of character set encoding that is used for strings that are sent to and calls that are received by the ARM 4.0 agent library.

Default: Native Unicode character set for the host, or UTF-8 as required by the ARM 4.0 standards.
Required: No
name="File" value="path-and-filename"

specifies the path and filename of the file to which ARM messages are written.

Default: None
Required: Yes
name="GetTimes" value="TRUE | FALSE"

enables the ARM appender to compute transaction response time metrics.

TRUE

enables the appender to compute transaction response times.

FALSE

disables the appender to compute transaction response times.

Default: FALSE
Required: No
name="ManageCorrelators" value="TRUE | FALSE"

specifies whether ARMAppender manages transaction correlation.

TRUE

enables automatic transaction correlation. The true value might affect existing benchmarks for ARM 2.0 records.

FALSE

enables the application to manage transaction correlation.

Default: true
Required: No
name="GroupName" value="group-name"

specifies the name of a group of application instances, if any. Application instances that are started with a common run-time purpose are candidates for using the same group name. The maximum length of the value is 256 characters. This value is passed to the ARM_START_APPLICATION() function call.

Default: current user ID if available, otherwise NULL
Required: No

ARMAppender Example

The following example is a SAS logging facility configuration file that includes ARMAppender:

<?xml version="1.0" encoding="UTF-8"?>
<logging:configuration xmlns:logging="http://www.sas.com/xml/logging/1.0/">

<appender class="FileAppender" name="ARM2LOG">
   <param name="File" value="arm2.log"/>
   <param name="ImmediateFlush" value="true"/>
   <layout>
      <param name="ConversionPattern" value="%X{ARM2.Record}"/>
   </layout>
</appender>

<appender class="FileAppender" name="ARM4LOG">
   <param name="File" value="arm4.log"/>
   <param name="ImmediateFlush" value="true"/>
   <layout>
      <param name="ConversionPattern"
       value="%d,
       %12X{App.Name}, 
       %14X{ARM.GroupName}, 
       %12X{ARM.TranName}, 
       %8X{ARM.TranState}, 
       %8X{ARM.TranStatus}, 
       %20X{ARM.TranStart.Time}, 
       %20X{ARM.TranStop.Time}, 
       %56X{ARM.ParentCorrelator},
       %56X{ARM.CurrentCorrelator}
       "/>
   </layout>
</appender>

<appender class="ARMAppender" name="ARM">
   <param name="Encoding" value="UTF-8"/>
   <param name="GetTimes" value="true"/> 
   <param name="ManageCorrelators" value="true"/>
   <param name="AppName" value="yourSampleApp"/>
   <param name="GroupName" value="SAS"/>
   <appender-ref ref="ARM4LOG"/>
   <appender-ref ref="ARM2LOG"/>
</appender>     

<appender class="FileAppender" name="LOG">
   <param name="File" value="root.log"/>
   <param name="ImmediateFlush" value="true"/>
   <layout>
      <param name="ConversionPattern" value="%d %c %m"/>
   </layout>
</appender>

<logger name="Perf.ARM" additivity="false">
   <level value="info"/> 
   <appender-ref ref="ARM"/>
</logger>

<root>
   <level value="info"/>
   <appender-ref ref="LOG"/>
</root>

</logging:configuration>


ARMAppender Usage and Best Practices

ARMAppender is configured and customized for accessing performance data. The primary role of ARMAppender is to record ARM transaction events, process the events, and route the events to an appropriate output destination. These events, when processed by ARMAppender, are formatted in the appropriate ARM 4.0 format, using the fixed portion of the message and the values that were recorded in the diagnostic context.

The existing ARM 2.0 implementations are changed to logger requests that contain the appropriate performance event attribute settings.

For more information about ARM and ARMAppender, see SAS Application Response Measurement (ARM): Reference.

Previous Page | Next Page | Top of Page