IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Services and service-related functions > Access external services with adapters > Configure and using adapters > IBM WebSphere Adapters > Adapter Toolkit > Implementing code from the IBM WebSphere Adapter Toolkit > Problem determination > Monitoring and measuring performance

Application response measurement (ARM)

Application response measurement (ARM), an API jointly developed by an industry partnership, monitors the availability and performance of applications. ARM is an approved standard of The Open Group.

To ensure that requests are performing as expected in a multi-tiered heterogeneous server environment, you must be able to identify requests based on business importance. In addition, you must be able to track the performance of those requests across server and subsystem boundaries, and manage the underlying physical and network resources used to achieve specified performance goals.

You can collect this performance data by using versions of middleware that have been instrumented with the Application Response Measurement (ARM) standard.

Combining ARM calls within your application with an ARM agent, users of your application can answer questions like:

The resource adapters are instrumented with the Application Response Measurement API, an API that allows adapters to collect and manage transaction end-to-end response time and volumetric information.

The adapters can participate in IBM Tivoli Monitoring for Transaction Performance, by allowing collection and review of data concerning transaction metrics.

The resource adapters uses ARM defined transactions at following three points:

An ARM agent, such as Tivoli Composite Application Manager for Response Time Tracking, can perform response time collection and analysis.

To enable/extend ARM, different brokers need to implement: armTransactionFactoryName() method found in com.ibm.j2c.monitoring.ARM AdapterArmTransactionFactory class. This transaction factory creates all objects that defined in the org.opengroup.arm40.transaction package.


ARM interface

/**
* ArmTransactionFactory provides methods to create instances 
of the classes in the org.opengroup.arm40.transaction package.
**/
package com.ibm.j2ca.extension.monitoring.ARM;

public interface AdapterARMTransactionFactory {
	public String armTransactionFactoryName();} 

Monitoring and measuring performance