Browser monitoring provides insights into how your application or site behaves when it is loaded in a web browser. Browser only records performance data, as explained in this document. It does not record any data used or stored by the monitored application unless you explicitly configure it to do so.
Here is a summary of the types of data reported by Browser monitoring.
- Page view data
This data is reported once per page view and consists of:
- Page load timing data
- Name of the server-side app controller that served the page, if available (obfuscated in the page and during transmission)
- Additional custom parameters set by the server-side app controller, if available (obfuscated in the page and during transmission)
- Additional custom parameters set by the Browser agent API, if set prior to page load
This information appears on the Page views page. For data security reasons, Browser does not record or collect URL query strings.
Server-side data can only be collected when the host is also instrumented by New Relic and the browser monitoring instrumentation is injected by the agent. For more information about how we collect and present this data, see Instrumentation for page load timing.
- AJAX timing data
When enabled, Browser periodically reports AJAX timing data until the user navigates away from or closes the page. (New Relic automatically filters out all AJAX requests that take longer than two minutes.) Data includes:
- Hostnames, ports, and paths (but not search/query parameters) of AJAX request URLs
- HTTP status code of responses
- Byte size of request message bodies
- Name of the server-side app controller servicing the AJAX request and server-side timing data (obfuscated in the page and during transmission), when the browser instrumentation is injected by the New Relic agent
- Timing data for the AJAX transaction
- Timing data for the AJAX callbacks
This information appears on the AJAX page.
For each error, the data includes:
- Exception class of the error
- Error message containing arbitrary text
- Stack trace of the error, which may contain function names and URLs of scripts causing the error
- Session trace data
- Asset load timing details
- User interactions such as scrolling, mousing, and clicking
Session traces are captured randomly at a fixed rate from among the monitored page views. Session trace information appears on the Session traces page.
- SPA data
If you use Browser's single-page app (SPA) monitoring, New Relic reports the following data once per page load or route change.
- Hash fragments associated with SPA route changes
- Additional custom parameters added from the SPA API
When SPA monitoring has been enabled, this information appears on the Page views page.
Server-side data can only be collected when the host is also instrumented by New Relic, and the Browser monitoring instrumentation is injected by the agent. For more information about how we collect and present this data, see Instrumentation for page load timing.
URL query strings
The Browser agent uses the HTTP
referer attribute to track page URLs. URLs can sometimes contain potentially sensitive user-entered query data (for example, a user's name). For data security reasons, Browser does not record or collect URL query strings.
Visitor's IP address
Browser uses the visitor's IP address to enrich data for additional visitor segmentation. Details such as the
geoID are mapped to Browser data from the IP address. For data security reasons, Browser does not retain the visitor's IP address for reporting. The IP address is obtained in the HTTP header from the request to the New Relic collector.
New Relic does not retain the visitor's IP address after the attributes have been mapped. The IP address value is overwritten within 24 hours of data being collected.
Browser determines the browser type from the
User-Agent header and the geographical location based on the browser's IP address. New Relic does not retain the IP address, only the country and region associated with the performance data.
nr.js) is hosted. The domain name for the file (
js-agent.newrelic.com) remains static, but the number in the path (version) may change periodically.
If your end users are behind a firewall or proxy and do not have access to the CDN or to New Relic's networks (including
bam.nr-data.net), Browser monitoring will not work.
Browser monitoring creates cookies in the end user's browser. If the user has cookies disabled, page load timing (sometimes referred to as real user monitoring or RUM) will not be able to track sessions properly. Also, if the user has an older browser that does not support the Navigation Timing Specification API, page load timing will not be able to track response times as accurately.
New Relic's cookies generated by Browser agents older than version 995 may not contain the
secure attribute. This is because page load timing data transmission in versions before version 995 use HTTP when the page is HTTP, but use HTTPS when the page is HTTPS. All Browser agent versions above version 995 will always use the
secure flag for cookies and transmit over HTTPS.
For customers subject to special guidelines for cookie collection, such as those under the EU GDPR/PECR ICO Guidelines, we now provide the option to disable cookie collection for your application. Please see our Browser agent v1169 release notes for more information.
If your site uses P3P, it must be configured to allow these cookies.
Page load timing metrics are reported to New Relic using a Script
GET, also known as a JSONP request. The Script
GET returns a value that is subsequently stored in a cookie and used to trigger trace capturing.