ARM standard features
The tang-IT ARM agent implements the full set of features defined by the
ARM 4.0 interface specification:
- Supports language bindings for C and Java.
- Supports both implicit and explicit response time measurement using
start/stop (implicit) and report (explicit) mechanisms.
- Correlation of transactions with parent/child relationships.
- Definition data for ARM application, ARM transaction and ARM metric types.
- Up to 20 name/value properties
(name=value) for application
and transaction definition types and runtime instances.
- URI support for transaction definitions and runtime instances.
- Transaction metrics like counters, gauges, numeric IDs and simple strings.
- Error handling support at API level.
- Supports finer granularity of transaction measurements:
- measuring time spent waiting for some resource to be available (blocked
- binding threads to transactions if multiple threads are working
on a transaction.
- Supports predefined definition data IDs (ARM 3.0 model of definition data).
tang-IT ARM specific features
In addition to the features defined by the ARM 4.0 interface standard,
tang-IT ARM provides the following features:
- ARM 2.0 integration into the ARM 4.0 environment for legacy instrumentations.
- Application instance measurement support (application running time).
- Transaction response time histograms.
- Statistical transaction metrics such as mean, median, deviation of
response time of a set of transactions.
- Online statistical transaction metrics accessible through commonly used
remote technologies (SNMP, CORBA).
- Supports single- and multi-threaded environments.
- Transaction response time measurement in
nano seconds granularity
- Mechanism for reporting tang-IT ARM internal errors (configuration
or runtime errors) to a central management entity.
- Modular architecture for transport, storage and retrieval of measured
- Decoupled delivery (shared memory or TCP/IP) of ARM data to the storage module
through dedicated ARM data collection processes per host(s).
- Ability to deliver transaction data to the storage module directly from
the application if running a separate process on the application
host is not possible.
- Choice between different storage backends (like XML files or databases).
- Frontend to retrieve ARM data from any storage backend.
- C++ interfaces for retrieving measured ARM data allowing
to write customer specific dedicated analysis tools.
- Various analysis tools:
- Command line tools.
- CGI frontend.