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
- C/C++
- C#
- Java
- Python
- 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.
- '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
- 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
- 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.
ARM Instrumentation support
We provide support for ARM instrumentation of open and closed source applications written in:
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:
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:
Download
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.
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).
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.
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:
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.
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:
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).
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.*







