The ARM API is an application programming interface that a vendor, such as SAS, can implement in order to monitor the availability and performance of transactions in distributed or client/server applications. The ARM API consists of definitions for a standard set of function calls that are callable from an application.
SAS implemented the ARM API as an ARM agent. In addition, SAS supplies ARM macros, which generate calls to the ARM API function calls, and ARM SAS system options, which manage the ARM environment and enable you to log internal SAS processing transactions.
You must determine the transactions within your application that you want to measure.
To log internal SAS processing transactions, simply use the ARM system option ARMSUBSYS= in order to turn on the transactions that you want to log.
To log transactions that you want to identify, insert ARM macros into the application's code.
You insert ARM macros at strategic points in the application's code so that the desired transaction response time and other statistics that you want are collected. The ARM macros generate calls to the ARM API function calls that are contained on the executable module that contains the ARM agent. The module accepts the function call parameters, performs error checking, and passes the ARM data to the agent to calculate the statistics and to log the records to an ARM log.
Typically, an ARM API function call occurs just before a transaction is initiated in order to signify the beginning of the transaction. Then, an associated ARM API function call occurs in the application where the transaction is known to be complete. Basically, the application calls the ARM agent before a transaction starts and then again after it ends, allowing those transactions to be measured and monitored .
The transaction's response time and additional statistics are then routed to the ARM agent, which then logs the information to the ARM log. The ARM API function calls typically log the data to a file. The time between these ARM API function calls provides an approximate response time measurement.