Determining whether an application "performs well" is not an easy task in a distributed environment. The following issues should be considered for the evaluation of distributed applications' performance:
Providing answers to these questions, ARM can help the developer implementing an application as well as a system or application administrator who has to maintain the running system. To achieve this, ARM measures the performance and the availability of defined transactions, where a transaction can be a high-level business transaction as well as a technical transaction such as the response time of a client/server relationship.
The main approach of ARM is to define transactions and insert calls to the ARM interface into the application (instrument the application) to measure these defined transactions. For this, availability of source code and of developers who instrument the application using standard ARM API calls is required. The instrumented application can be deployed as usual, except that now ARM transaction measurements are taken and delivered to the appropriate analysis or storage module of the ARM implementation.
The following list briefly shows the necessary steps in order to instrument an application using ARM.