Asynchronously loading decreases the agent's ability to capture content and hook into libraries. You can improve the amount of captured data if the agent is still the first script to be executed on the page and defer all other scripts, especially Ajax libraries or scripts that use
Ajax (XHR) detection
XMLHttpRequest to perform requests.
Basic XHR Detection is a generic wrapper for all requests performed with
XMLHttpRequest. Selecting this module captures the Internet Explorer
ActiveXObject. Because it has more overhead than specific framework wrappers, using the specific wrappers whenever possible is recommended.
Some modules for specific frameworks require modifying the framework
js file. This is necessary to trigger framework instrumentation directly after the framework is loaded.
Manual XHR Framework Instrumentation contains a selection of the various code snippets to use.
This list contains settings for capturing additional information:
You can disable capturing. Stack traces are captured when enabled.
|Perceived render time||This module calculates the perceived render time. This is the time it takes for all visible images to completely load, depending on the browser window size. When activated, perceived render time is calculated for each user action. See Perceived Render Time for more information.|
|Streaming||Captures information about HTML5 video and audio tags embedded into a webpage. Manual instrumentation is required for videos in Flash or Silverlight.|
|Timed action support||XHRs are often sent using
|User Timings||Captures timings measured by the browser's
|Visually Complete||Enables support for both the visually complete metric and the speed index metric. This setting is enabled by default in newly created system profiles.
A page is visually complete when all the visual components have been rendered. It is the time when a user considers that the page is ready to interact with. It doesn't consider, for example, any Ajax request that could be going on behind the page. Visually complete can be captured for page load and for Ajax actions. See Visually Complete metric or the video on optimizing user experience for more information.
The speed index is the average time at which visible parts of the page are displayed. It is useful for comparing the user experience of various pages. The lower the number, the better the user experience of the page.
Note: Speed Index and Visually Complete metrics are only available on browsers that support
W3C Resource Timings
Use the W3C Resource Timings section to enable detailed resource information capturing, and to capture all or a percentage of visits details to produce a resource waterfall chart for PurePaths using every page load action. Use waterfall and captured W3C resource timing data to help optimize the performance of your web application. Waterfall charting appears on the User Action PurePaths dashboard. See Web Performance Optimization for UEM and W3C Resource Timing Metrics for more information.
|Domain Mapping||See CDN Content Analysis for more information on mapping domains.|
See the section Seeing full waterfall details in Web Performance Optimization for UEM for more information.
Capturing resource information may cause overhead, especially on browsers that do not support the Resource Timing API.
|Calculate Bandwidth and refresh every||Interval at which the bandwidth calculation repeats for a visit. The smaller the value the more accurate the bandwidth if it changes regularly. However, this also produces more overhead.
For proper calculation, you also need to enable capture of web request/response sizes. See UEM FAQ for detailed info.
|Enable bandwidth calculation on mobile browsers||Enables bandwidth calculation for mobile devices. Bandwidth calculation needs to download extra data. This overhead is often undesired on mobile devices. The option is only available if bandwidth calculation is enabled. Enabling bandwidth calculation on mobile browsers does not enable bandwidth calculation for mobile applications. Because of the impact on user data plans, the bandwidth is not calculated and does not display for mobile applications.|
With capturing enabled, you can grab any number of values for these types. The captured string truncates if longer than 100 characters. To configure capture:
- Select the type of the metadata.
- Specify an ID for it. You can then use this ID for Measures and Business Transactions.
- Specify a capture expression (identifier) by which the value is retrieved:
- Meta Tag Names:
- Get the content attribute of the specified meta tag name.
- CSS Selectors:
- In addition to using a CSS selector to locate a particular element, you can also retrieve an element attribute value. To do so, add @ followed by the attribute name. The innerText or textContent of the element is retrieved if no attribute is specified.
- If the CSS selector query results in multiple elements, only the first element is captured.
- The variable must use dot notation for any Object property reference, for example
someObject[property]. Use brackets only when capturing Array values, such as 'someArray'.
Captured values appear as Metadata Details when you hover over a user action PurePath root node or select Details from its context menu.
Capturing restrictions section
|IP restrictions||You can configure ranges of IP addresses to exclude or include from User Experience Management. For example, if you want to exclude all visits of your web site from the local network you can add the network mask of your local network to the list of excluded addresses.|
|Browsers restrictions||Include or exclude certain browsers and/or versions.|
The Monitor Request Name defined in the Global Settings tab (by default
For example, the page:
loads the Agent from the following URLs for the different configurations:
|Domain for AppMon cookies||Overrides on which domain the AppMon cookies dtCookie, dtPC, and dtLatC should be set.
|Add the Secure attribute to the AppMon session cookie||Useful for web sites that employ the HTTPS protocol for secure communications, this setting marks the AppMon session cookie
|Send AppMon monitoring request to foreign domain||The Same Origin Policy only allows XHRs that are sent to the same server delivering the web page itself, but UEMaaS requires a Web Server Agent to send the monitor signal to a different server.
To resolve this, modern browsers (IE 8 and later, Chrome 4 and later, FireFox 3.5 and later, Safari 4 and later, Opera 12 and later) support CORS, which lets the web server decide whether it allows content to be delivered to a 3rd party site. Enable this here.
|Include the Anchor as part of the URI when determining an action name||Select this check box to include the Anchor as part of the URI when determining an action name.|
Use the AppMon REST API to retrieve the snippet for your application and inject it as the first script into your page. The API is designed to be used during the build process of a web application and provides vital functionality the agent needs to instrument a website. It is not recommended to request the snippet directly using a script tag, since this would unnecessarily decrease load times and require user privileges and direct access to the AppMon server. The API call looks like this: