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

FlavorNameFile Size (brotli)Description
1.***.0full49 KBThe complete collection of Boomerang plugins allowing for the widest range of data collection features.
1.***.10minimal25 KBSmallest bundle containing only the minimally required plugins to send a beacon.
1.***.20default29 KBStandard web performance metrics. Excluding advanced features such as JavaScript error collection, Perceived Performance Metrics and and SPA monitoring.
1.***.30default-errors33 KBStandard web performance metrics including JavaScript error collection. Excluding advanced features such as Perceived Performance Metrics and SPA monitoring.
1.***.40default-spa35 KBStandard web performance metrics including support SPA performance monitoring. Excluding advanced features such as JavaScript error collection and Perceived Performance Metrics.
1.***.50default-spa-errors39 KBStandard web performance metrics including SPA monitoring support and JavaScript error collection. Excluding advanced features such as Perceived Performance Metrics.
1.***.60cutting-edge34 KBStandard web performance metrics including Perceived Performance Metrics support. Excluding advanced features such as JavaScript error collection and SPA monitoring.
1.***.70cutting-edge-errors38 KBStandard web performance metrics including Perceived Performance Metrics and JavaScript error collection. Excluding advanced features such as SPA monitoring.
1.***.80cutting-edge-spa40 KBStandard web performance metrics including Perceived Performance Metrics and SPA monitoring. Excluding advanced features such as JavaScript error collection.

Plugins in flavors table

PluginDescription*.0*.10*.20*.30*.40*.50*.60*.70*.80
rtStandard web performance metrics
page-paramsPage Groups, custom timers, dimensions and metrics
config-overrideConfiguration Overrides
navtimingNavigation Timing API monitoring
eventtimingEvent Timing API monitoring
painttimingPaint Timing and LCP monitoring
akamaiAkamai plugin
mqMethod queue
mobileNetwork Information API monitoring
memoryBrowser and page metrics
resttimingResource Timing API monitoring
compressionCompression utility lib
cross-domainSession tracking across several domains
bwBandwidth test
iframe-delayIframe delay plugin
earlyEarly Beacon
usertimingUser Timing API monitoring
third-party-analyticsThird party analytics
cache-reloadReload Boomerang
errorsJavaScript error collections
auto-xhrXHR and Fetch API monitoring
spaSPA monitoring
historyHistory API helper for SPA plugin
continuityPerceived 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.