The SAS Interface to ARM

In the Business Solutions Division at SAS Institute, we have developed a series of SAS macros that map to the ARM API functions. These SAS macros may be embedded in SAS Data Step or SCL code to log application transaction statistics.

The results of a macro call are routed to either one of three places:

  1. If another vendor's shared library is being used, that vendor will handle the logging. For example, HP's Measureware product will capture the call through it's Shared Library Module, route the information to a Measurement Interface Daemon, which logs the info to a MI Performance Database.
  2. If our Shared Library Module is being used, the data is, by default, written to the ARMLOG.LOG (V9) or the SAS Log (V8).
  3. If an ARMLOG fileref is assigned to the current SAS session (V8 or V9), OR the ARMLOC option (V9) is set, then the data is written to there.

The following diagrams may illustrate the flow a little more clearly:

SAS with Vendor Agent Example

The above diagram demonstrates the flow when using another vendor's Shared Library Module and Agent. The SAS app is instrumented with ARM calls at various transaction points. Execution of those calls are routed, via the vendor's Shared Library Module, to its Measurement Agent. This data can then be collected via standard ITSV mechanisms.

SAS-only Example

This diagram demonstrates the flow when using our Shared Library Module. Output is routed to an external file defined by the ARMLOC= option.