Application Response Measurement

from Wikipedia, the free encyclopedia

The Application Response Measurement ( ARM ) is a standard of the Open Group and is used for measuring the performance of transactions from the user's perspective. Technically, ARM is a programming interface that must be built into the program for later evaluations. ARM is available for the programming languages C and Java .

history

Application Response Measurement (ARM) was originally developed by Tivoli and Hewlett-Packard and version 1.0 was published in 1996. This standard specifies a programming interface for measuring performance for the C programming language .

In 1997 the ARM 2.0 standard was developed under the umbrella of the Computer Measurement Group (CMG) by the ARM Working Group and allowed the correlation of parent-child transactions in a distributed computer system.

ARM 3.0 was adopted as the standard by the Open Group in 2001. This standard specifies a programming interface for the Java programming language .

In autumn 2003, version 4.0 of the ARM standard was adopted by the Open Group. This version now offers a programming interface for both the C programming language and Java. In December 2004, version 4.0 was revised in a second edition.

ARM 4.1 was released in summer 2007.

introduction

Modern applications are becoming more and more complex and are often distributed over several computers in a network. This creates new challenges for tools for monitoring and analyzing these distributed applications. The ARM standard was designed for this task. In order to get a more detailed insight into the behavior of a distributed application, the following questions can be asked:

  1. Are business transactions carried out and, if not, what are the reasons for doing so?
  2. What is the response time of a transaction?
  3. Where is the weak point, which sub-transactions can trigger the difficulties?
  4. Which and how many transactions are carried out in an application?
  5. How can the performance of an application be improved?

ARM can make answering these questions easier by measuring the performance of defined transactions and checking the availability of applications. Both so-called business transactions and technical transactions (i.e. those that analyze a technical issue in more detail) can be measured.

method

The basic procedure for instrumenting applications with ARM and obtaining performance data is as follows:

  1. Identify and define both business transactions and technical transactions.
  2. Instrumentation of the application with calls to the ARM programming interface.
  3. Start the instrumented application in its usual runtime environment and call the transactions in question.
  4. The ARM implementation used now provides measurement data that can be viewed, further processed or statistically analyzed.

Concepts

ARM provides various concepts for modeling an application and its performance measurement. The concepts of the ARM application and the ARM transaction presented below differentiate between definitions and instances. A definition describes the properties of a concept whereas an instance describes the actual measurement:

ARM application
Many different applications operate together in distributed systems (classic client / server applications). Only this interaction describes the entire distributed system. The concept of an application in ARM is established to identify individual applications in the ARM context. If the same application is started several times, there will be several ARM application instances, but only one application definition.
ARM transaction
A transaction represents the main concept of the ARM standard and precisely describes a performance measurement. A transaction definition defines the boundary conditions (e.g. which data is recorded, at which point in the application the transaction is started and stopped, etc.). If the same transaction is carried out multiple times, this results in many transaction instances, but there is still only one transaction definition. A transaction essentially consists of a status (good, faulty, aborted), a start or stop time, the resulting duration and the description of the computer (SystemAddress) on which the transaction was recorded. Additional information such as special metrics or character strings (properties) can be linked to a transaction.
ARM system address (SystemAddress)
Clearly describes a computer z. B. by his name, his IP address or other clear descriptions.
ARM correlators (Correlators)
In the ARM context, a correlator describes exactly one transaction instance as a sequence of bytes. With the help of such a correlator, parent / child relationships can be established between transaction instances. This makes it possible to break down a complex transaction into its individual components.
Example : Show me the ARM Wikipedia article in my web browser . Any number of so-called sub-transactions (children) could be measured for this, such as access to the web server, database access or drawing the page in one's own browser.
ARM metrics
Metrics in the ARM sense are additional data (counter, fill level, IDs) that can be assigned to a transaction. For example, the number of printed pages of a print job and its duration can give a more precise assessment of the performance of a printing system than the pure measured time for its implementation.
ARM properties
So-called properties allow any data to be attached to a transaction. Properties consist of two strings, a name and a value. These strings can be given special semantics for each transaction definition.
ARM user
A transaction instance can be assigned to exactly one user. It should be noted here that the user does not have to be the user who is currently on the computer and logged on there.

ARM instrumented applications

The following applications are already instrumented with ARM:

  • Apache HTTP Server using the ARM 4.0 module mod_arm4. All HTTP requests are measured using ARM.
  • Mozilla Firefox using the ARM 4.0 XPCOM npARM extension.
  • IBM WebSphere application server. Various requests like URI , JSP and others can be measured directly with ARM.
  • IBM HTTP Server.
  • IBM DB2 database server.
  • The SAS Institute software system has been supporting ARM 2.0 for a long time; with version 9.2 ARM 4.0 is now also supported.
  • Baan 5 and Infor ERP Ln 6.1

Web links

Individual evidence

  1. Apache ARM 4.0 module
  2. Apache ARM 4.0 module modified for productive use
  3. npARM XPCOM extension
  4. WAS v6.1 ARM transactions
  5. Enabling ARM on HTTP Server
  6. ^ Enabling ARM on DB2 Universal Database
  7. http://support.sas.com/documentation/cdl/en/armref/61526/HTML/default/a003282868.htm