This page lists all native browser and JavaScript APIs that the current version of Dynatrace RUM JavaScript depends on.
📝 Note
If any of these APIs are overridden or monkey-patched on your page, Dynatrace RUM JavaScript may behave incorrectly or stop working.
Custom implementations must be spec-conformant. Dynatrace RUM JavaScript assumes all listed APIs behave according to their respective web or ECMAScript specifications. Non-spec-conforming overrides are the most common cause of unexpected failures that are difficult to diagnose.
The following table lists every browser API that the current version of Dynatrace RUM JavaScript relies on. Each entry links to the relevant MDN documentation.
| Browser API | MDN Reference |
|---|---|
| AbortController (constructor) | MDN |
| AbortController.prototype.abort | MDN |
| AbortSignal.prototype.addEventListener | MDN |
| AbortSignal.prototype.removeEventListener | MDN |
| AbortSignal.timeout | MDN |
| Array.from | MDN |
| Array.isArray | MDN |
| Array.prototype.concat | MDN |
| Array.prototype.every | MDN |
| Array.prototype.fill | MDN |
| Array.prototype.filter | MDN |
| Array.prototype.find | MDN |
| Array.prototype.findLast | MDN |
| Array.prototype.flat | MDN |
| Array.prototype.flatMap | MDN |
| Array.prototype.forEach | MDN |
| Array.prototype.includes | MDN |
| Array.prototype.indexOf | MDN |
| Array.prototype.join | MDN |
| Array.prototype.map | MDN |
| Array.prototype.pop | MDN |
| Array.prototype.push | MDN |
| Array.prototype.reduce | MDN |
| Array.prototype.reverse | MDN |
| Array.prototype.shift | MDN |
| Array.prototype.slice | MDN |
| Array.prototype.some | MDN |
| Array.prototype.sort | MDN |
| Array.prototype.splice | MDN |
| Array.prototype.unshift | MDN |
| ArrayBuffer.prototype.slice | MDN |
| Blob (constructor) | MDN |
| clearInterval | MDN |
| clearTimeout | MDN |
| console.error | MDN |
| console.log | MDN |
| console.warn | MDN |
| Crypto.prototype.getRandomValues | MDN |
| CustomEvent (constructor) | MDN |
| Date.now | MDN |
| decodeURIComponent | MDN |
| Document.prototype.addEventListener | MDN |
| Document.prototype.createElement | MDN |
| Document.prototype.getElementById | MDN |
| Document.prototype.removeEventListener | MDN |
| document.querySelector | MDN |
| document.querySelectorAll | MDN |
| DOMException (constructor) | MDN |
| Element.prototype.closest | MDN |
| Element.prototype.getAttribute | MDN |
| Element.prototype.hasAttribute | MDN |
| Element.prototype.matches | MDN |
| Element.prototype.querySelector | MDN |
| Element.prototype.setAttribute | MDN |
| encodeURIComponent | MDN |
| Error (constructor) | MDN |
| Event.prototype.composedPath | MDN |
| Event.prototype.preventDefault | MDN |
| Event.prototype.stopImmediatePropagation | MDN |
| Event.prototype.stopPropagation | MDN |
| EventTarget.prototype.addEventListener | MDN |
| EventTarget.prototype.dispatchEvent | MDN |
| EventTarget.prototype.removeEventListener | MDN |
| fetch | MDN |
| Function.prototype.apply | MDN |
| Function.prototype.bind | MDN |
| Function.prototype.call | MDN |
| Function.prototype.toString | MDN |
| Function.toString | MDN |
| Headers (constructor) | MDN |
| Headers.prototype.get | MDN |
| Headers.prototype.set | MDN |
| JSON.parse | MDN |
| JSON.stringify | MDN |
| Map (constructor) | MDN |
| Map.prototype.clear | MDN |
| Map.prototype.delete | MDN |
| Map.prototype.forEach | MDN |
| Map.prototype.get | MDN |
| Map.prototype.has | MDN |
| Map.prototype.set | MDN |
| Map.prototype.values | MDN |
| Math.abs | MDN |
| Math.ceil | MDN |
| Math.floor | MDN |
| Math.max | MDN |
| Math.min | MDN |
| Math.pow | MDN |
| Math.round | MDN |
| MutationObserver.prototype.disconnect | MDN |
| MutationObserver.prototype.observe | MDN |
| NamedNodeMap.prototype.getNamedItem | MDN |
| Navigation.prototype.addEventListener | MDN |
| Navigation.prototype.removeEventListener | MDN |
| Navigator.prototype.sendBeacon | MDN |
| Node.prototype.appendChild | MDN |
| Node.prototype.getRootNode | MDN |
| Number.isFinite | MDN |
| Number.isInteger | MDN |
| Number.isNaN | MDN |
| Number.parseFloat | MDN |
| Number.prototype.toFixed | MDN |
| Number.prototype.toString | MDN |
| Object.assign | MDN |
| Object.create | MDN |
| Object.defineProperties | MDN |
| Object.defineProperty | MDN |
| Object.entries | MDN |
| Object.freeze | MDN |
| Object.fromEntries | MDN |
| Object.getOwnPropertyDescriptor | MDN |
| Object.getOwnPropertyNames | MDN |
| Object.keys | MDN |
| Object.prototype.hasOwnProperty | MDN |
| Object.prototype.toString | MDN |
| Object.setPrototypeOf | MDN |
| Object.values | MDN |
| Performance.prototype.getEntriesByName | MDN |
| Performance.prototype.getEntriesByType | MDN |
| Performance.prototype.now | MDN |
| PerformanceObserver (constructor) | MDN |
| PerformanceObserver.prototype.disconnect | MDN |
| PerformanceObserver.prototype.observe | MDN |
| PerformanceObserverEntryList.prototype.getEntries | MDN |
| postMessage | MDN |
| Promise (constructor) | MDN |
| Promise.all | MDN |
| Promise.prototype.catch | MDN |
| Promise.prototype.finally | MDN |
| Promise.prototype.then | MDN |
| Promise.race | MDN |
| Promise.reject | MDN |
| Promise.resolve | MDN |
| Proxy (constructor) | MDN |
| queueMicrotask | MDN |
| Reflect.construct | MDN |
| Reflect.get | MDN |
| Reflect.set | MDN |
| RegExp (constructor) | MDN |
| RegExp.prototype.exec | MDN |
| RegExp.prototype.test | MDN |
| ReportingObserver.prototype.disconnect | MDN |
| ReportingObserver.prototype.observe | MDN |
| Response.prototype.json | MDN |
| Set (constructor) | MDN |
| Set.prototype.add | MDN |
| Set.prototype.clear | MDN |
| Set.prototype.delete | MDN |
| Set.prototype.forEach | MDN |
| Set.prototype.has | MDN |
| setInterval | MDN |
| setTimeout | MDN |
| Storage.prototype.getItem | MDN |
| Storage.prototype.key | MDN |
| Storage.prototype.removeItem | MDN |
| Storage.prototype.setItem | MDN |
| String.fromCharCode | MDN |
| String.prototype.charAt | MDN |
| String.prototype.charCodeAt | MDN |
| String.prototype.codePointAt | MDN |
| String.prototype.endsWith | MDN |
| String.prototype.includes | MDN |
| String.prototype.indexOf | MDN |
| String.prototype.lastIndexOf | MDN |
| String.prototype.localeCompare | MDN |
| String.prototype.match | MDN |
| String.prototype.padStart | MDN |
| String.prototype.replace | MDN |
| String.prototype.replaceAll | MDN |
| String.prototype.slice | MDN |
| String.prototype.split | MDN |
| String.prototype.startsWith | MDN |
| String.prototype.substring | MDN |
| String.prototype.toLowerCase | MDN |
| String.prototype.toString | MDN |
| String.prototype.toUpperCase | MDN |
| String.prototype.trim | MDN |
| Symbol.for | MDN |
| SyntaxError (constructor) | MDN |
| TextEncoder (constructor) | MDN |
| TextEncoder.prototype.encode | MDN |
| Uint8Array (constructor) | MDN |
| URL (constructor) | MDN |
| VisualViewport.prototype.addEventListener | MDN |
| VisualViewport.prototype.removeEventListener | MDN |
| WeakMap (constructor) | MDN |
| WeakMap.prototype.delete | MDN |
| WeakMap.prototype.get | MDN |
| WeakMap.prototype.set | MDN |
| WeakSet (constructor) | MDN |
| WeakSet.prototype.add | MDN |
| WeakSet.prototype.has | MDN |
| Window.prototype.addEventListener | MDN |
| Window.prototype.removeEventListener | MDN |
| XMLHttpRequest | MDN |
| XMLHttpRequest.prototype.getResponseHeader | MDN |
| XMLHttpRequest.prototype.setRequestHeader | MDN |
| XMLHttpRequestUpload.prototype.addEventListener | MDN |