Details - ARM 4.0 part
ARM standard details
The MyARM agent implements the full set of features defined by the ARM 4.0 interface specification:
- Definition of ARM applications, ARM transactions and ARM metrics.
For later easy analysis of measurements ARM supports the classification of ARM applications, ARM transactions and ARM metrics. Each of this concepts have a name and further attributes. These names must be registered with the ARM agent by calling the register functions (C) or by by creating instances of appropriate classes (Java).
- Response times: Supports both implicit and explicit response
time measurement using start/stop (implicit) and report (explicit) mechanisms:
- Start/stop response time measurement
- This measurement type is the preferred method for measuring ARM response times. Within an application you call the start function (C/C++) or method (Java) just right before your code which should be measured. When your task has finished you call the stop function or method. The ARM agent will measure and compute any data it is currently configured to do so. All measurements are made by the ARM agent.
- Report response time measurement
- Sometimes the above mentioned method of measuring response times does not fit (e.g. in proxy). Therefore ARM provides the ability to report any data it can process. In this scenario the application needs to measure any response times or additional data and pass it to the ARM agent via the report function or method.
- Correlation of transactions with parent/child relationships:
A child transaction measurement can be associated with an parent transaction measurement by a so-called ARM correlator. When the parent transaction is started the application requests the ARM agent to generate a correlator for it. This correlator is then passed to the child start transaction function or method call.
- Properties name/value pairs:
ARM applications and ARM transactions support so-called properties which are name/value pairs
(name=value). Up to 20 properties can be associated with each:- ARM application definition.
- ARM transaction definition.
- ARM application instance.
- ARM transaction instance.
- URI property:
ARM transaction definitions and instances also supports a single property which defines the URI the transaction definition or instance is associated to.
- ARM metrics:
are fully supported by MyARM. This includes:
- ARM counter metrics
- ARM gauge metrics
- ARM numeric ID metrics
- ARM string metric
- Error handling support at API level:
MyARM supports all error handling at API level as defined in the standard. Therefore using MyARM you can detect very soon instrumentation errors.
- Blocked transactions:
When a transaction waits for external events (waiting for some resource to become available) MyARM fully supports the transaction blocked concept.