Inserting ARM instrumentation into your application code

You can also directly modify your application code to call the ARM API. This can be done for any type of application (not just Java™).

The ARM API is an open standard. Standards documentation and examples are available at www.opengroup.org/management/arm.htm. The Tivoli® ARM Java implementation is provided in the plug-in com.ibm.tivoli.transperf.lib. The ARM 4 Java APIs and public ARM standard interfaces are located in the armjni4.jar file in that plug-in. If you require libraries for other programming languages such as C, contact your IBM® representative.

To use the Tivoli ARM Java implementation:

  1. Add the com.ibm.tivoli.transperf.lib plug-in and the armjni4.jar file to your application's project dependencies and class path.
  2. Set the following properties as shown:

    “Arm40.ArmTransactionFactory” = “com.ibm.tivoli.transperf.arm4.transaction.Arm40TransactionFactory”; “Arm40.ArmTranReportFactory” = “com.ibm.tivoli.transperf.arm4.tranreport.Arm40TranReportFactory”; “Arm40.ArmMetricFactory” = “com.ibm.tivoli.transperf.arm4.metric.Arm40MetricFactory”;

Information about instrumenting your application with the Tivoli ARM implementation is available in the following guide, provided in English only. To view it, you must have the free Adobe Reader. The guide is written about instrumenting for Tivoli Monitoring for Transaction Performance, but the instructions also apply to instrumenting for these tools (the two technologies use the same ARM engine).

Tivoli Monitoring for Transaction Performance: Application Response Measurement (ARM) Instrumentation Guide

Once the application is ARM instrumented, you can create a ARM Instrumented Application profiling configuration for the application, attach and monitor the agent, start the application, and begin collecting data. See Creating a profiling configuration for instructions (but select Arm Instrumented Application, instead of Java Application, in step 4, and select ARM Performance Analysis on the Profiling Overview tab).

Note: The analysis user interface is quite Java-centric. If you are profiling a C++ application, for example, there will be elements presented that are meaningless in your scenario (such as packages).

Terms of use | Feedback
(C) Copyright IBM Corporation 2005. All Rights Reserved.