The Browser Agent lets you monitor web page load performance metrics and events.
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:
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.
|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|
|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)|
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.
The Browser Agent does not support:
XMLHttpRequest.ontimeout. (Callback execution times are supported for
The following metrics are available for frameworks using AJAX. These metric calculations use the variables:
|Average Callback Execution Time (ms)||The average time for the
||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.
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:
|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|
Valid for: Google Chrome, Microsoft Edge, and Mozilla Firefox
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:
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: