mod_arm4 - Apache 2 Application Response Measurement (ARM) module

Online section / Instrumentation / mod_arm4 contact | download | sitemap

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:

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