- Assisted Injection
- The file
adrum.jsis injected into each instrumented page, as close to the top as possible, as the page is served. Although it loads synchronously, it's a very small file, around 30 KB (10 to 12 KB with compression), and generally, executes in less than 5 ms in modern browsers and less than 15 ms in older browsers.
- At the
adrum-ext.jsis fetched asynchronously, specifically to not block the page from loading. This is the code that does most of the heavy lifting. Once it has been fetched, it is cached for 24 hours on the browser.
- When cross-domain session correlation is enabled, the first time a user visits a domain, the browser additionally loads the file
adrum-xd.htmlto generate or load a piece of common information that enables cross-domain sessions. Future visits will not load
- When the page has completed loading, the collected data is bundled into a beacon and sent to the EUM Server by
- The data is processed by the EUM Server and then made available for pickup by the Controller.
Not all types of injection are supported on all frameworks and platforms. See the Script Injection columns in the Supported Platform Matrix for Browser Monitoring matrices to find out what types are supported for your application.
adrum.js file is inserted into the page when it is downloaded from your web application. The
adrum-xd.html when cross-domain session correlation is enabled) file is loaded asynchronously by the adrum.js file. By default,
adrum-xd.html are fetched by the highly available Amazon CloudFront CDN infrastructure.
cdn.appdynamics.com. This is the simplest hosting option and ideal for testing.
- Shared Hosting - You host the main file
Cross-domain session correlation
By default, Browser RUM sessions are restricted to one domain. Thus, when an end user navigates to a page in another domain or even subdomain, the session for that user is ended. You can, however, configure Browser RUM to enable sessions to continue across subdomains. Thus, when an end user navigates from
http://example2.com, the session will continue as long as the configured session inactivity time has not expired.
How Sessions Are Correlated Across Multiple Domains
For sessions to be correlated across domains, each page is required to use HTTPS to load the file
adrum-xd.html from the same URL. If your pages are fetching the files
adrum-xd.html files from the AppDynamics CDN (this includes the shared hosting use case), sessions will automatically be correlated across domains because the pages will be fetching the file
adrum-xd.html from the AppDynamics CDN.
adrum-ext.js file from the same URL. The
adrum-xd.html file is served from the location of the
adrum-ext.js file. See the sections below for configuration instructions for the two use cases.
Configuration for Session Correlation Across Multiple Domains
AppDynamics CDN / Shared Hosting
adrumExtUrlHttps is the same for all pages requiring cross-domain session correlation.
Set the Geo Server URL
By default, end-users' locations are resolved using public geographic databases. You can host an alternate geo server for your countries, regions, and cities instead of using the default geo server hosted by AppDynamics. See Install and Host a Custom Geo Server for Browser RUM.
You can add configuration for