mod_arm4 - Apache 2 Application Response Measurement (ARM) module
mod_arm4 - Apache 2 Application Response Measurement (ARM) module
This module makes the Apache HTTP Server version 2.0 and 2.2 aware of and a participant in ARM instrumentation flows. This module requires the services of an ARM agent library. See http://www.opengroup.org/management/arm/.
With this module it is possible to measure each HTTP request made to a Apache HTTP Server using the Application Response Measurement (ARM) standard. This module only interfaces to the ARM 4.0 C interface and therefore you need a real ARM 4.0 compliant agent to really measure HTTP requests. If the module does not find any agent library (libarm4.so) the module is disabled at runtime. No runtime linking problem occurs!
Features
The mod_arm4 module found at the Apache web-site works but is not really customisable and also not implemented for a production server. We at MyARM improved the module regarding performance, better ARM instrumentation and added various configuration directives to selectively measure HTTP requests. The following lists the main features of the mod_arm4 module:
- Load the ARM library dynamically
- Measurement of requests only if a correlator was passed by a client.
- Explicitly allow or deny measurement of requests by URI patterns.
- Support of ARM context properties (Various HTTP Request information).
- Support of ARM metrics (BytesSent, HTTP Status).
Directives
ArmApplicationName Directive
- Description
- Sets the application name registered with the the ARM agent.
- Syntax
ArmApplicationName name- Default
ArmApplicationName Apache HTTP Server- Context
- server config
ArmCorrelatorOnly Directive
- Description
- If enabled only HTTP requests are measured if an ARM correlator was received in the HTTP headers.
- Syntax
ArmCorrelatorOnly on|off- Default
ArmCorrelatorOnly off- Context
- server config
ArmDebug Directive
- Description
- Enables log output to the error log stream for debugging the mod_arm4 itself..
- Syntax
ArmDebug on|off- Default
ArmDebug off- Context
- server config
ArmDisableMatch Directive
- Description
- Specifies a pattern of URIs to disable for ARM measurements.
- Syntax
ArmDisableMatch pattern- Default
None- Context
- server config
ArmEnableMatch Directive
- Description
- Specifies a pattern of URIs to explicitly enable ARM measurements. This pattern overwrites a also matching ArmDisableMatch pattern!
- Syntax
ArmEnableMatch pattern- Default
None- Context
- server config
ArmInstrumentHandler
- Description
- ArmInstrumentHandler on causes arm_block|unblock_transaction to be called across content handlers.
- Syntax
ArmInstrumentHandler on|off- Default
ArmInstrumentHandler off- Context
- server config, directory
ArmLoadLibrary Directive
- Description
- Sets the path of the ARM4 agent shared library to be loaded during startup.
- Syntax
ArmLoadLibrary file-path- Default
ArmLoadLibrary libarm4 (.dll on windows, .a on AIX, .so everywhere else)- Context
- server config
ArmProcessing Directive
- Description
- Enables or disables ARM processing at all for the section it was specified in.
- Syntax
ArmProcessing on|off- Default
ArmProcessing on- Context
- server config, directory
ArmTransactionContext Directive
- Description
- Enables association of context properties of the HTTP request to the ARM transaction.
- Syntax
ArmTransactionContext on|off- Default
ArmTransactionContext on- Context
- server config, directory
ArmTransactionMetrics Directive
- Description
- Enables association of metrics such as BytesSent and HTTP Status of a HTTP request to the ARM transaction.
- Syntax
ArmTransactionMetrics on|off- Default
ArmTransactionMetrics on- Context
- server config, directory
ArmTransactionName Directive
- Description
- Sets the transaction name registered with the ARM agent.
- Syntax
ArmTransactionName name- Default
ArmTransactionName HTTP Request- Context
- server config
ArmVerbose Directive
- Description
- Enables log output to the error log stream for basic ARM operations.
- Syntax
ArmVerbose on|off- Default
ArmVerbose on- Context
- server config