Architecture

Overview

As the following picture shows, the tang-IT ARM product consists of several components. An ARM instrumented application uses the ARM interface to measure transactions. Calls to the ARM interface end up in the ARM agent implementation which in turn stores all collected data into a database through one of the selected backends. Afterwards, analysis tools can use the appropriate frontend to retrieve the collected ARM measurement data.

Components

This section presents details of the following tang-IT ARM components:

ARM agent
implementation of the ARM interface in various language bindings
Backends
writing interface to the storage part of the ARM data store
Frontends
reading interface to the storage part of the ARM data store
Online analysis
interface for various statistical measurements
Tools
Analysis tools

Figure 1: tang-IT ARM overall architecture

ARM Agent

The ARM agent component implements the standardized ARM interface. Applications use the ARM interface within their important or critical code sections to measure well defined transactions by instrumentation. During deployment of the thus instrumented applications, calls to the ARM interface end up in the ARM agent implementation which triggers the appropriate actions. For example, a pair of calls to the ARM 4.0 arm_start_transaction() and arm_stop_transaction() functions measures the response time and stores the result within the ARM measurement system. The storage part features a modular design, as described in the next section. For more information on ARM agents and language bindings follow this link.

Backends

All measured ARM data is stored in databases or files for subsequent analysis. To provide the ARM agent with a means of forwarding the data, our ARM implementation provides a mechanism called Backends to select and use different kinds of storage. The user must choose the appropriate backend for his/her purpose (e.g. database, file or online analysis) prior to the deployment of the instrumented application.

Frontends

After the deployment of instrumented applications the ARM measurement results are held in the storage chosen. Now, since the analysis tool used must be able to retrieve these measurement data, a matching frontend is available for every backend flavor to obtain the measurement information from the storage.

Online analysis

The online analysis component allows you to monitor certain aspects of your instrumented application. It provides statistical metrics for selectable sets of transactions. To obtain these statistical metrics standard interfaces like CORBA or SNMP will be supported.

Tools

With the analysis tools you can select, view and query different aspects of measured transaction data. There is a rich set of different analysis options. Various analysis tasks can be satisfied with different analysis tools. For verifying transaction measurements or for browsing through transactions, you can use interactive tools such as the Web-CGI frontend. If your tasks should be automated you can write scripts using command line tools. For detailed information on analysis tools look here.