boomerangjs
Version:
boomerang always comes back, except when it hits something
73 lines (48 loc) • 2.51 kB
Markdown
Header Snippets are small pieces of JavaScript code that can be injected into a Page's HTML so that even before Boomerang loads, components of the page load experience (such as JavaScript errors) are still fully measured.
These Header Snippets should be added as inline `<script>` tags within the `<head>` of a document, ideally right before the { loader-snippet} is included.
## JavaScript Errors (for { BOOMR.plugins.Errors})
Boomerang listens for JavaScript errors via the { BOOMR.plugins.Errors} plugin by monitoring the [`onerror`](https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror)
global event handler. However, JavaScript errors that occur prior to Boomerang being loaded will be missed.
This Errors Snippet monitors for JavaScript Errors via the [`onerror`](https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror)
event and will "hand off" the errors to Boomerang once it has loaded.
Source:
```javascript
<script>
%errors_snippet%</script>
```
Minified:
```javascript
<script>%minified_errors_snippet%</script>
```
## Frame Rate (for { BOOMR.plugins.Continuity})
The { BOOMR.plugins.Continuity} plugin measures performance and user experience metrics beyond just the
traditional Page Load timings.
One of the metrics that the { BOOMR.plugins.Continuity} plugin measures is Frame Rate (FSP) data via
[`requestAnimationFrame`](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame). However,
FPS data is "real-time" and is not available for scripts like Boomerang that may load later in the page load process.
This Header Snippet will start monitoring
[`requestAnimationFrame`](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame) and hand the
FPS data off to Boomerang once it has loaded.
Source:
```javascript
<script>
%continuity_snippet%</script>
```
Minified:
```javascript
<script>%minified_continuity_snippet%</script>
```
## Instrumenting XMLHttpRequests (for { BOOMR.plugins.AutoXHR})
The { BOOMR.plugins.AutoXHR} plugin monitors `XMLHttpRequests` on the page.
The performance data of `XMLHttpRequests` that start before Boomerang is loaded may not be monitored.
This Header Snippet will start monitoring `XMLHttpRequests` and hand the performance data off to Boomerang once it
has loaded.
Source:
```javascript
<script>
%autoxhr_snippet%</script>
```
Minified:
```javascript
<script>%minified_autoxhr_snippet%</script>
```