The Agent performs the following analysis:
- Detection of page loads.
- Detection of user actions: A user action can be a page load or an Ajax call that the user initiates by a mouse click, key press, or other similar event. Cascading calls are correlated into one single user action, for example a page load that performs several Ajax calls during load.
- Browser errors.
- The client's bandwidth.
- User action details such as action duration and page load detail timings for each action step, including browser timings, visually complete, and speed index.
dynaTraceMonitor by default — resulting in a path relative to the instrumented server. Set the items in System Profile > User Experience. Set the monitor request name in the Global Settings tab. Set the monitor request path in the <applicationName>.
By default the signal is sent immediately after a page was successfully loaded or an Ajax action is finished. If a user navigates to another page before the page finished loading, the signal is sent during a before-unload or unload event.
Action name detection
Set action name with
data-dtname custom attribute
If the standard action name detection does not suffice you can set the
data-dtname custom attribute within the HTML tags and use it as a caption. For example:
<label for="txtFirstname">Firstname</label> <input data-dtname="Firstname Text Input" type="text" value="firstname" name="firstname" title="Firstname" id="txtFirstname" />
This leads to the following caption:
click on "Firstname Text Input"
Resolving captions for actions
- The attribute named
- The nodeName such as image, anchor, or input, and returns if
headtag or the
documentelement is found.
- The innerText/textContent.
If none of these return any reasonable result, the Agent starts a recursive algorithm that checks different things depending on the nodeName of the currently checked HTML node. If nothing is found, the parent node is checked.
Do not gzip or compress the requests. This reduces the file size of the generated images and the time it takes the clients to download them and such biases bandwidth to be better than it actually is.
Which features is it needed for?
- Bandwidth measure.
- Network contribution time measure, calculated based on bandwidth and on resource size which is measured on the server side.
- User experience index for page actions for bandwidths lower than broadband. The threshold is multiplied by a factor between 1 and 2. The biggest possible factor is 2.
How is it implemented?
- First (0k) image is used for latency calculation, which are subtracted from all other measurements.
- All subsequent images are loaded until the download time without latency exceeds 100ms.
What can be configured?
- Bandwidth detection can be enabled per application (default: off).
- Bandwidth detection can be enabled separately for mobile browsers (default: off).
- Frequency of bandwidth checks can be configured (default: every 5min).
What is the impact?
The bandwidth detection can have an impact on the user experience, because it might be triggered while the page is still loading. Even if there is no impact on the response time, synthetic tools still might consider the timings of the bandwidth check images for their calculation of the response time.
- Typical impact on the response time: 0—100ms (depending on individual page performance).
- Impact on the total resource size of a page: up to 1443k.
The bandwidth feature requires an instrumented Agent to get the generated images, thus it just measures the bandwidth between the client and the Java/Webserver Agent. If the latter is located elsewhere, for example in a UEM only scenario with CORS, the measured bandwidth does not reflect the connection speed between the webserver that delivered the actual page and the browser.