EUM users do not see any EUM metrics from the instrumented application on the Controller.
To troubleshoot, open the EUM Processor's dropped beacon logs (located in EUM/logs/DroppedBeacon.log
) which mark all dropped beacons as "invalid."
Next, using Chrome dev tools, under the Network tab, there will be a beacon that is posted as an image (adrum.gif) and the request URL will look similar to: '/eumcollector/adrum.gif?&&&&&&&&&ky=<APP-KEY>'
.
As the parameters in this URL are missing, the beacon does not carry any metric data that can be identified by the EUM Server, and it is dropped.
This issue appears in applications using Prototype.JS, which interferes with the browser's native JSON.stringify
method.
Adrum.js (the Javascript Agent) uses the browser's version of JSON.stringify
. When possible, we recommend using a browser's built-in JSON.stringify
instead of Prototype's toJSON
.
Then check for the window.JSON && window.JSON.stringify and only include the json.org library (via document.createElement('script')
…).
To resolve the incompatibilities, include the following just after prototype.js
in the browser.
if(window.Prototype) {
delete Object.prototype.toJSON;
delete Array.prototype.toJSON;
delete Hash.prototype.toJSON;
delete String.prototype.toJSON;
}