ARM interface programming model

The ARM interface programming model includes routines that perform basic functions.

The following table describes the basic programming model.

Table 1. ARM interface programming model
Interface Description
arm_register_application This routine registers the application identity with the ARM implementation. The application identity provides the fundamental instrumented application scope and basis for subsequent ARM 4.0 calls. This routine is called during application initialization.
arm_start_application This routine establishes the started application instance with the ARM implementation, in preparation for making ARM 4.0 transaction calls. This interface is called during application initialization, after registering the application with ARM.
arm_register_transaction This routine registers a transaction identity with the ARM implementation. A transaction identity provides a category of transactions, commonly referred to as a transaction type, that will execute under the registered application for subsequent ARM 4.0 calls for transaction monitoring and measurement. This interface is called during application initialization after starting the ARM application instance.
arm_start_transaction This routine establishes the started transaction instance with the ARM implementation. A started transaction instance provides the foundation for transaction monitoring and measurement. This routine is called during transaction processing.
arm_block_transaction This routine indicates that the started transaction instance has become blocked behind a particular event. This routine is called during transaction processing.
arm_unblock_transaction This routine indicates that the blocking event has been relieved for the started transaction instance. This routine is called during transaction processing.
arm_bind_transaction This routine indicates that the current thread is performing on behalf of a started transaction instance. Binding enables the system to measure the processor utilization of a transaction because it establishes an exclusive processing relationship between the thread and the transaction. This routine is called during transaction processing.
arm_unbind_transaction This routine indicates that the current thread is no longer performing on behalf of a started transaction instance. This routine is called during transaction processing.
arm_stop_transaction This routine ends the started transaction instance recognized by the ARM implementation. A call to this interface is the expected way for an instrumented application to end a started transaction instance.
arm_stop_application This routine ends the started application instance recognized by the ARM implementation. A call to this interface is the expected way for an instrumented application to end a started application instance.
arm_destroy_application This routine deregisters the registered application. A call to this interface is the expected way for an instrumented application to deregister an application.