Agent features

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 transactions).
    • 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:

Semantic 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).

Technical features

  • Supports single- and multi-threaded environments.
  • Transaction response time measurement in nano seconds granularity (platform dependent).
  • 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 ARM data:
    • 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.