Boomerang flavors
From Boomerang version 1.737.0 and onward we provide mPulse customers with an option to pick a specific Boomerang flavor based on the metrics and information they would like to collect. The motivation behind having different flavors is to deliver a version of Boomerang that is optimal in terms of transferred bytes to end-users. Delivering less bytes of Boomerang/JavaScript code means to end-users that Boomerang would be delivered faster, Boomerang code would need less device resources (CPU and memory) for parsing and evaluation and that more device resources (CPU, memory and network) would be free for processing other page assets as CSS, JavaScript, Images and etc.
There are 2 significant changes that are introduced with Boomerang Flavors:
- Boomerang source code: Introducing 9 new sub-versions for Boomerangs with flavors.
- mPulse app editor: Adding new UI elements to the mPulse App Editor that allow mPulse customers to pick easily a flavor of their choice or allow the App Editor to automatically pick an optimal flavor.
Boomerang source code
In each Boomerang version that has flavors we have 9 flavors that in case of Boomerang 1.737 are 1.737.0, 1.737.10, 1.737.20, 1.737.30, 1.737.40, 1.737.50, 1.737.60, 1.737.70, 1.737.80 (Reference: Flavors table) . A flavor in this case is a subset of Boomerang plugins that are bundled together (Reference: Plugins in flavors table).
Flavors table
Flavor | Name | File Size (brotli) | Description |
---|---|---|---|
1.***.0 | full | 49 KB | The complete collection of Boomerang plugins allowing for the widest range of data collection features. |
1.***.10 | minimal | 25 KB | Smallest bundle containing only the minimally required plugins to send a beacon. |
1.***.20 | default | 29 KB | Standard web performance metrics. Excluding advanced features such as JavaScript error collection, Perceived Performance Metrics and and SPA monitoring. |
1.***.30 | default-errors | 33 KB | Standard web performance metrics including JavaScript error collection. Excluding advanced features such as Perceived Performance Metrics and SPA monitoring. |
1.***.40 | default-spa | 35 KB | Standard web performance metrics including support SPA performance monitoring. Excluding advanced features such as JavaScript error collection and Perceived Performance Metrics. |
1.***.50 | default-spa-errors | 39 KB | Standard web performance metrics including SPA monitoring support and JavaScript error collection. Excluding advanced features such as Perceived Performance Metrics. |
1.***.60 | cutting-edge | 34 KB | Standard web performance metrics including Perceived Performance Metrics support. Excluding advanced features such as JavaScript error collection and SPA monitoring. |
1.***.70 | cutting-edge-errors | 38 KB | Standard web performance metrics including Perceived Performance Metrics and JavaScript error collection. Excluding advanced features such as SPA monitoring. |
1.***.80 | cutting-edge-spa | 40 KB | Standard web performance metrics including Perceived Performance Metrics and SPA monitoring. Excluding advanced features such as JavaScript error collection. |
Plugins in flavors table
Plugin | Description | *.0 | *.10 | *.20 | *.30 | *.40 | *.50 | *.60 | *.70 | *.80 |
---|---|---|---|---|---|---|---|---|---|---|
rt | Standard web performance metrics | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
page-params | Page Groups, custom timers, dimensions and metrics | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
config-override | Configuration Overrides | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
navtiming | Navigation Timing API monitoring | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
eventtiming | Event Timing API monitoring | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
painttiming | Paint Timing and LCP monitoring | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
akamai | Akamai plugin | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
mq | Method queue | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
mobile | Network Information API monitoring | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
memory | Browser and page metrics | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
resttiming | Resource Timing API monitoring | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
compression | Compression utility lib | ✓ | ✗ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
cross-domain | Session tracking across several domains | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
bw | Bandwidth test | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
iframe-delay | Iframe delay plugin | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
early | Early Beacon | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
usertiming | User Timing API monitoring | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
third-party-analytics | Third party analytics | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
cache-reload | Reload Boomerang | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ |
errors | JavaScript error collections | ✓ | ✗ | ✗ | ✓ | ✗ | ✓ | ✗ | ✓ | ✗ |
auto-xhr | XHR and Fetch API monitoring | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ | ✓ |
spa | SPA monitoring | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ | ✓ |
history | History API helper for SPA plugin | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ | ✗ | ✓ |
continuity | Perceived Performance Metrics | ✓ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ | ✓ |
*.0 | *.10 | *.20 | *.30 | *.40 | *.50 | *.60 | *.70 | *.80 |
Boomerang flavors in mPulse app editor
Flavor override mode
Not all Boomerang plugins can be configured from the App Editor. For example the iframe-delay plugin exists only in the 1.***.0 / full
Boomerang flavor and can’t be activated from the App Editor. In such case the auto-select mode may choose a flavor that is not 1.***.0 / full
but the Override mode will allow us to choose the 1.***.0 / full
Boomerang flavor.
Flavor auto-select mode
In the following example “Collect JavaScript Errors” is selected and “Collect Perceived Performance Metrics” is not selected. This means that the Errors plugin is required but the Continuity plugin is not required. The optimal flavor in this case is 1.***.30 / default-errors
which is 33 KB with brotli compression.
The App Editor will automatically pick 1.***.30 / default-errors
if the Override checkbox is not ticked.
Updated almost 3 years ago