Skip to content
CA Experience Collector
Documentation powered by DocOps

Browser Agent

Last update October 3, 2017

The Browser Agent lets you monitor web page load performance metrics and events.

Metric Calculations for Web Pages

The Browser agent reports browser response times and events for web pages. When available, the Browser Agent uses the W3C Navigation Timing API to report its browser response timings. The W3C Navigation Timing API is an interface that modern browsers implement. Some of these browsers have limitations:

  • For an initial page, there is no associated previous page unload.
  • If a page load waits for user input, this time is included in the Average Page Load Time (ms) metric. 

The following table describes how metrics are calculated for browsers that support the W3C Navigation Timing API. The Metric Calculation column denotes the mathematical calculation that the Browser Agent uses to obtain a particular metric. For example, Average Page Render Time (ms) is obtained by subtracting two event times from the browser: loadEventEnd and domComplete.

Metric Description Metric Calculation
Average Page Render Time (ms) The time to render the content after the document object model (DOM) has been processed. loadEventEnd time - domComplete time
Average Connection Establishment Time (ms) The time for the browser to establish the TCP connection to the server. connectEnd time - connectStart time
Average Domain Lookup Time (ms) The time for the browser to complete the name service lookup for the domain of the current web page. domainLookupEnd time - domainLookupStart time
Average DOM Processing Time (ms)

The time from navigation start to when the browser processes the document object model (DOM).

Note: This time is not when all objects in the DOM are retrieved and loaded.

domComplete time - domLoading time
Average Page Load Time (ms) The time from navigation start to when the browser loads all components and the page is complete. loadEventEnd time - navigationStart time
Average Previous Page Unload Time (ms) The time to unload the previously displayed page. If there is no page to unload (for example, when a browser session is started), no value is available. unloadEventEnd time - unloadEventStart time
Average Time to First Byte (ms) The time for the browser to receive the first byte of the response from the server or application caches. responseStart time - requestStart time
Average Time to Last Byte (ms) The time for the browser to receive the last byte of the response from the server or application caches. responseEnd time - requestStart time
JavaScript Errors Per Interval The number of JavaScript error occurrences on the monitored web page within a given interval. Not applicable
Page Hits Per Interval The number of occurrences the monitored web page was requested within a given interval. Not applicable
Average Page Stall Time The time the page request spent waiting before it could be dispatched. (connectStart time - domainLookupEnd time) + (requestStart time - connectEnd time)

The Browser Agent uses thresholds where browser metrics cannot be created and reported. Thresholds for page load, asynchronous, and JavaScript function metrics have certain default thresholds, which are configurable. The browser timings must meet the threshold limits for the metrics to be created.

Browser metrics might not be created in the INVESTIGATOR Metric Browser tree because they are not reported. In this case, the metrics do not appear in the Map. For example, if Average Time to First Byte (ms) is not displayed in the INVESTIGATOR Metric Browser tree, it does not appear in the Map.

Metric Calculations for AJAX Requests

For web applications, the Browser Agent can provide browser response timings for dynamic web pages in structural frameworks such as AJAX (Asynchronous JavaScript and XML).

The Browser Agent does not support:

  • Nested AJAX callbacks
  • Synchronous AJAX requests
  • Callback functions such as XMLHttpRequest.onerror and XMLHttpRequest.ontimeout. (Callback execution times are supported for XMLHttpRequest.onreadystatechange and XMLHttpRequest.onload.)
    Icon
    Note: For more information about support, see the   Product Compatibility Matrix.

The following metrics are available for frameworks using AJAX. These metric calculations use the variables:

  • TSE = Time when the AJAX send call terminates
  • TFB = Time when the browser receives the First Byte of the server response
  • TLB = Time when the browser receives the Last Byte of the server response
  • TCS = Time when the AJAX callback begins
  • TCE = Time when the AJAX callback ends
Metric
Description
Metric Calculation
Average Callback Execution Time (ms) The average time for the XMLHttpRequest.onreadystatechange or XMLHttpRequest.onload callback functions to process the server response. TCE - TCS
Invocation Count per Interval The total number of times the AJAX request was made in a given interval. Not applicable
Average Time to First Byte (ms) The average time from the moment the AJAX request is issued for an HTTP resource until the reception of the first byte of the server response. TFB - TSE
Average Resource Load Time (ms) The average time from the moment the AJAX request is issued for an HTTP resource until the AJAX callback (the function responsible for receiving and processing the server data) completes. TCE - TSE
Average Response Download Time (ms) The average time between the reception of the first byte and the last byte of the server response. TLB - TFB

Note: For AJAX calls, Average Response Download Time and Average Callback Execution Time metrics are reported independently. These metrics might not be reported due to limitations of certain AJAX frameworks, in particular, for AJAX calls through jQuery 1.x.

  • Browser Agent might not report Average Callback Execution Time for the initial AJAX call.
  • Browser Agent might not report Average Response Download Time and Average Time to First Byte.

Single Page Applications and Soft Page Navigation

Single Page Applications make a single page request to retrieve all content for that page at initial page load. Then, the applications can dynamically obtain resources from the server and update the user interface as a result of user interactions. Many Single Page Applications use the HTML5 History APIs and URI location hash properties to indicate logical user navigation on the same single web page. This type of logical user navigation that triggers route change without full page reload is referred to as soft page navigation. The Browser Agent monitors the load time of soft pages and reports the Average Page Load Time (ms) metric. The Browser Agent also monitors the number of occurrences in which the monitored soft page was visited within a given interval. The Browser Agent reports this number as the Page Hits Per Interval metric. This information provides a more comprehensive insight into end-user experience of Single Page Applications.

The following metrics are available for Single Page Applications and soft page navigation. One metric calculation uses the variables:

  • TSPE = Time when soft navigation (route change without page load) starts
  • TSPS = Time when soft page finishes loading
Metric
Description
Metric Calculation
Average Page Load Time (ms) The average time from when soft navigation (route change without page load) occurs to when the soft page finishes loading. TSPE - TSPS
Page Hits Per Interval The number of occurrences that the monitored soft page was visited within a given interval. Not applicable

Web Resources

Valid for: Google Chrome, Microsoft Edge, and Mozilla Firefox

Web pages are built from content that is not displayable from the initial download of the page. This content can be images, sound, and other media. Supporting calls can render the page with additional items such as JSON, XML, HTML, JavaScript, and so on. These supporting items that the page references and downloads are named resources.

The Browser Agent uses the Resource Timing API to provide network timing data for resources. The timing metrics determine, for example, the length of time it takes to fetch a specific resource. An application developer can use the property values to calculate the length of time a phase takes. That information can help diagnose performance issues, such as slow response times for a Scalable Vector Graphics (SVG) file, image, script, and so on.

The Resource Timing API properties create a resource loading timeline with timestamps for network events such as:

  • redirectStart and redirectEnd
  • fetchStart
  • domainLookupStart and domainLookupEnd
  • responseStart and responseEnd

Other properties provide data about the size of the fetched resource and the type of resource that initiated the fetch.

The Browser Agent provides the following resource metrics:

  • Resource Load Time
  • Time To First Byte
  • Response Download Time
  • Invocation Count Per Interval
Was this helpful?

Please log in to post comments.