Our Application Instrumentation services and support provides ready to use ARM instrumentation of standard applications. The following standard application ARM plugins can be directly used with MyARM:

  • Instrumentation
  • mod_arm4
  • nparm4
  • ARM Instrumentation support

    We provide support for ARM instrumentation of open and closed source applications written in:

    • C/C++
    • C#
    • Java
    • Python

    Our support comprises guidance on designing the instrumentation, test and monitoring concepts of your (distributed) applications.

    Plugin Development

    The following plugins are currently in development/test phase:

    • Arm4Valve: Apache Tomcat Valve plugin.
      Please contact us for getting a test version of the Arm4Valve:

    Please contact us if you need an ARM plugin for another standard application:

    Apache HTTPD-Server ARM 4.0 plugin

    The Apache web-server supports ARM4 now since end of 2004 by providing a specific ARM4 module called mod_arm4. We made some enhancements to this module which is available through our page. Following is a brief list of our enhancements:

    Enhancements

    ARM metrics

    • Added an ARM metric called BytesSent which stores the number of bytes sent to the client of the requested document. By using the length information of a requested document, the response time can be normalised to milliseconds per kilo bytes for example.
    • Added an ARM metric called Status which is the HTTP status of the request.

    ARM context properties

    • Application context properties which associates the following information to each application instance:
      1. ServerVersion
      2. ServerHost
      3. ServerAdmin
    • Transaction context properties which associates the following information to each transaction measurement:
      1. ServerName
      2. ServerPort
      3. RemoteAddress
      4. RemoteUser
      5. Scheme
      6. QueryString
      7. Protocol

    ARM correlation

    • Added correlator information to the environment where CGI scripts can access it. Therefore it is possible to make a correlation between a HTTP-Request and the execution of an instrumented CGI script.
    • Configuration option which enables ARM measurements only if a correlator was sent by a client.

    Miscellaneous

    • Added URI pattern matching support to selectively measure requests.
    • Added various configuration options to the module. Now you have much more control over the ARM instrumentation provided by mod_arm4 module.
    • Added arm_destroy_application() call to be more ARM 4.0 standard compliant.
    • Added autoconf/automake infrastructure. Its possible to use configure/make as well as normal apxs script as used by apache modules. Further compile and installation instructions are included in the mod_arm4 distribution archive.
    • Support Apache 2.0.x and 2.2.x servers for compiling/building and deployment.

    Download

    Here you can the mod_arm4 module distributions directly.

    Mozilla Firefox ARM 4.0 Extension plugin

    The Firefox ARM 4.0 instrumentation is a Mozilla xpcom extension and enables tracking of all browser requests, in conformance with the ARM 4.0 standard. It uses Firefox' internal observation mechanism to intercept request calls, to measure the start and stop time of each request and to store the results in an ARM data sink. Parent-child relations are preserved throughout the measurements, i.e. if a request triggers several child requests, the child request measurements are correlated to the parent request measurement.

    Currently the Firefox ARM 4.0 extension is available for Windows and Linux.

    Additional information is recorded within ARM metrics and context properties as follows:

    ARM metrics
    • Content-Length: the content length of the request if applicable.
    • Content-Type: the content/mime type of the request if available.
    • Cached: indicates whether the request was processed using local cache or not.
    • Redirect: indicates whether the request was redirected by the server.
    ARM context properties
    • The URI of the request.
    • The target Host of the request.

    Download

    The Firefox ARM 4.0 extension can be downloaded directly from our page.

    How to install?

    The Firefox ARM 4.0 extension comes within a single xpi file and can be installed via the 'Open File' menu entry (see Image 1) of the Firefox browser. Select the file to open and follow instructions (see Image 2), i.e. select 'Install Now' for installation of the extension. Usually you are requested to restart Firefox for the changes to become effective. Note also that by default the ARM instrumentation is not enabled. See next section on how to activate the ARM instrumentation.

    Firefox open file dialog Firefox install dialog
    Image 1: Firefox open file menu entry.
    Image 2: Firefox install dialog.

    After restart upon installation, there will be a new entry in the list of extensions (see Image 3), which is called 'npARM Adapter 1.0'. Via the context menu of this entry, you will be able to display the 'About' information (see Image 4) and to open the Options/Preferences dialog (see Image 6). The preferences dialog is also accessible via the overall Firefox options dialog ('npARM Settings' tab page).

    Firefox open file dialog Firefox npARM4 about dialog
    Image 3: Firefox add-on dialog.
    Image 4: Firefox npARM4 about dialog.

    How to activate / deactivate?

    The extension is activated or deactivated via the 'Enable ARM Instrumentation' checkbox in the 'Tools->ARM Instrumentation' menu or via the Options/Preferences dialog (top centre of the dialog; see Image 5). The activation status is stored per user and restored at startup of the next browsing session. Note: On Windows 7 the menu item is only available if the menu bar is enabled.

    Firefox npARM4 menu activation
    Image 5: Firefox npARM4 menu activation.

    How to configure?

    By means of the the Options/ Preference dialog it can be defined which browser requests should be included in or excluded from the measurements. In order to do so, four categories of filters are provided (left hand side of preferences tab page). The four categories are:

    • 'Url': the uniform resource locator of the request
    • 'Server': the target host machine of the request
    • 'Protocol': the protocol of the request such as 'http', 'https', etc
    • 'Mime Type': the mime type such as 'text/html', 'image/png', etc

    Each filter category is comprised of a list of positives or negatives, i.e. if a request matches a filter value, it is either included or ignored/excluded respectively. Each list of filter values can be set independently to contain positives or negatives by using the radio buttons at the right hand side of Options/Preference tab page.

    Firefox npARM4 preference dialog
    Image 6: Firefox npARM4 preferences dialog.

    The order of priority for filtering matches the order in the dialog: first url, then server, then protocol and finally mime type. The filter algorithm is as follows:

    • if a list is empty, go to the next list (as per described order)
    • if an explicit match is found in a list and the list contains positives: the request will be tracked
    • if an explicit match is found in a list and the list contains negatives: the request will be ignored
    • if NO explicit match is found in a list and the list contains positives: the request will be ignored
    • if NO explicit match is found in a list and the list contains negatives: the request will be tracked
    • if all lists are empty: the request will be tracked by default

    Filter values can be added to each list by entering a value in the textbox at the bottom ("<a filter>") and clicking on the 'AddFilter' button for confirmation. On the contrary, values can be removed by selecting a list entry with the mouse and then selecting 'Delete' via the context menu of the list display (see Image 7).

    Firefox npARM4 delete filter entry context menu
    Image 7: Firefox npARM4 delete filter entry context menu.

    The filter settings are stored on a per-user basis and are restored at browser startup. As a MyARM default, the Firefox internal protocols 'resource', 'about', 'chrome', 'moz-icon' and 'jar:file' are set to be excluded from the measurements (see Image 6).

    Firefox Compatibility

    Tested with Firefox 3.5.*, 3.6.*, 4.0.*, 5.0.*, 6.0.*, 7.0.*, 8.0.*,10.0.*,11.0.*

    Currently Known Issues

    • HTTP pages using the http authentication mechanism (requesting a user account and password) are not tracked properly. Measurements become corrupted, because no proper stop signal of the request is being received. This results in the request being labelled as 'Aborted' at Firefox shutdown.