What is in an mPulse beacon
What's in an mPulse Beacon (Web Apps)
The content of this page applies to mPulse web apps. Documentation for mobile apps is available here.
mPulse is built on top of the boomerang JavaScript library which collects web performance data from a user’s web browser and sends the data back to the mPulse servers via a beacon.
Beacons are invisible network requests that contain performance data and other page-load characteristics. All of this data is included on the beacon via HTTP headers or as part of the query string or form payload.
Within the web performance community, this data is commonly called RUM or Real User Measurement data because it involves measuring the experience of real users.
In this document, we will describe the various parameters collected via the boomerang beacon as well as how they are mapped to other parts of mPulse such as S3, Asgard and DSWB.
As of April 2020, all IP addresses are truncated. IPv4 IPs are truncated to /24 (e.g. 1.2.3.4
to 1.2.3.0
) and IPv6 IPs are truncated to /64 (e.g. aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh
to aaaa:bbbb:cccc:dddd::
).
Top Level Fields
Field | Query String Param | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|---|
Log Type | -- | type | -- | -- | beacon batch | mPulse log type |
Beacon ID | -- | id | beaconId | -- | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx | Beacon GUID |
Domain | h.d | domain | -- | domain | website.com | Registered domain or registered dev domain in mPulse of the page sending the beacon |
Domain ID | -- | domainid | appid | -- | 123 | Registered domain ID |
Timestamp | -- | timestamp | timestamp | timestamp | 1512086400000 | Server timestamp when beacon arrived (Unix epoch) |
Page ID | pid | page_id | pageId | -- | abcd1234 | Page ID |
Beacon Number | n | n | additionalfieldsjson | -- | 1 | Beacon number for current page |
IP | -- | remote_ip | remoteip | remoteIP | 1.2.3.0 | IP address of the end user (or the proxy they are connected through) (truncated) |
API Key | h.key | key | -- | key | XXXXX-XXXXX-XXXXX-XXXXX-XXXXX | mPulse API Key assigned to this domain |
Beacon HTTP Method | -- | http_method | -- | httpMethod | GET POST | HTTP Request method used to send the beacon (for internal use only) |
Beacon HTTP Version | -- | http_version | -- | httpVersion | HTTP/1.1 | HTTP Version used to send the beacon (for internal use only) |
Beacon Referrer | -- | http_referrer | -- | beaconReferrer | http://referrer.com | URL of the page that sent the beacon. This may be blank depending on browser privacy settings. |
Beacon IPv6 | -- | ipv6 | ipv6 | ipv6 | true | Set to true if the beacon was sent using IPv6 (for internal use only) |
Proxy Address | -- | proxy_address | -- | proxyAddress | 1.2.3.4 | IP address of the CDN provider that handled the edge connection for this beacon (for internal use only) (not truncated) |
Beacon Type | http.initiator | beacon_type | beacontypename | beaconType | page view xhr unload spa spa_hard interaction client_batch api_custom_metric api_custom_timer api_network_request | Type of beacon: page view, XHR, SPA hard or soft navigation, etc |
Page Group | h.pg | page_group | pagegroupname | pageGroup | Home Orders PDP (No Page Group) | Page Group for the page (Page Groups are defined in the mPulse App Config dialog) |
A/B Test name | h.ab | ab_test | abtestname | abTestName | A B | If the site uses A/B Testing, this variable specifies the test bucket the user was in when they sent the beacon |
Site/App Version | h.v | site_version | siteversionname | siteVersion | 1.0 2.5b | Site owners may use this to specify a release number for their site. |
Filtered URL | -- | url | url | url | http://website.com/ | URL of page according to any URL patterns defined within the app. If no URL patterns are defined, this is the top level URL of the site. |
Warnings | -- | warnings | warnings | warnings | ["clock:askew"] | Array of warnings added by the collector when parsing this beacon |
SPDY | nt_spdy | spdy | spdy | spdy | true | Set to true if the page was served using SPDY |
SSL | -- | ssl | ssl | ssl | true | Set to true if the page was served using SSL |
API Status | api | api | -- | -- | true | Set to true if this beacon was sent from an API call |
Mobile Connection Type | mob.ct | mobile_connection_type | mobileConnectionType | -- | Ethernet WiFi 2G 3G 4G LTE | Mobile connection type |
Navigation Type | nt_nav_type | navigation_type | navigationTypeName | -- | navigate reload back_forward | Navigation Type |
Session
The following fields live under the session: {}
object in S3.
Session | Query String Param | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|---|
Session ID | rt.si | ID | sessionid | sessionId | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx-nnnnnn | Session ID generated by mPulse and stored in a cookie by Boomerang. The first five chunks are a UUID, while the last chunk is the base36 representation of the session start time based on the user's clock. |
Session Start Time | rt.ss | start | sessionstart | sessionStart | 1512086400000 | Session start time (Unix epoch) based on the user's browser's clock. This clock may not be in sync with the server clock, so only compare it with other browser timestamps. |
Session Latest Time | rt.end | latest | sessionlatest | sessionLatest | 1512086400000 | The timestamp (Unix epoch) of the current beacon based on the user's browser's clock. It is not the timestamp of the latest beacon in the session. To find out actual session duration, look at MAX(latest) - MIN(start) across all beacons grouped by Session ID. |
Session Length (in Pages) | rt.sl | pages | sessionpages | sessionLength | 10 | The number of pages the user viewed in this session up to and including the current page, but not including any pages viewed after this page in the same session. To find out actual Session Length in pages, look at MAX(pages) across all beacons grouped by Session ID.If MAX(pages) == 1 , then the session is considered a bounce. |
Uncounted pages | rt.obo | oboPages | sessionobopages | sessionUncountedPages | 0 | The number of pages in the session for which we were unable to calculate a load time. We need this to get a closer estimate of the actual average load time of all pages in the session. |
Total Load Time | rt.tt | totalLoadTime | sessiontotalloadtime | sessionTotalLoadTime | 2000 | The sum of load times (in milliseconds) of all pages within the session where we calculated load time. The average load time of a session is MAX(totalLoadTime) / (MAX(pages) - MAX(oboPages)) . |
Unload flag | rt.quit | isUnload | sessionisunload | sessionIsUnload | true or missing | This field specifies if the beacon was part of the unload event of the page or not. Unload beacons give us a better idea of how long a session actually lasted. |
User Agent Fields
The following fields come from the User-Agent
HTTP Request Header. There are no query string parameters.
The following fields live under the user_agent: {}
object in S3.
User Agent Fields | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|
Browser Family | family | useragentname | userAgentFamily | Chrome Firefox IE Safari Mobile Safari | The browser family extracted from the user agent header |
Major version | major | useragentversion | userAgentMajor | 42 13 11 | The browser major version |
Minor version | minor | useragentminor | userAgentMinor | 0 5 | The browser minor version |
OS Name | os | operatingsystemname | userAgentOs | Windows Android OS Mac OS X iOS | The Operating System name for the user |
OS Version | osversion | operatingsystemversion | userAgentOsVersion | 8.1 | The Operating System version for the user |
Model | model | devicename | userAgentModel | iPhone iPad | Device model for mobile devices |
Manufacturer | manufacturer | devicemanufacturername | userAgentManufacturer | Apple Samsung LG | Device manufacturer for mobile devices |
Device Type | type | devicetypename | userAgentDeviceType | Desktop Mobile Tablet | Device type |
Synthetic | synthetic | -- | -- | WebPagetest | Detected synthetic user agent name |
Bot | bot | -- | -- | cURL Googlebot | Detected bot name |
Raw User Agent String | raw | useragentraw | userAgentRaw | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Safari/537.36 | The raw User-Agent HTTP header |
Geo Information
The following fields come from doing a MaxMind GeoIP lookup on the source IP address. There are no query string parameters.
The following fields live under the geo: {}
object in S3.
Geo Information | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|
Country | cc | countrycode | countryCode | US | The user's country (L1 geo info) |
Region/State/Territory | rg | regioncode | regionCode | DC | The user's region, state, province, or territory (L2 geo info) |
City | city | geocity | cityName | Washington | The user's city (L4 geo info) |
Postal Code | postalcode | geopostalcode | postalCode | 20009 | The user's postal/zip code |
Latitude | lat | geolat | latitude | 10.0 | The user's approximate latitude (as granular as the zip code of the ISP the user is connecting from) |
Longitude | lon | geolon | longitude | 10.0 | The user's approximate longitude (as granular as the zip code of the ISP the user is connecting from) |
Organization | org | geoorg | organization | Comcast Cable Verizon Wireless | The user's organization, if connected over a corporate/university network |
ISP | isp | geoisp | isp | Comcast Cable Virgin Media | The user's ISP |
Network speed | netspeed | conntypename | networkSpeed | Cellular Ethernet Cable/DSL | The advertised network grade of the user's internet connection |
Overwritten Location | ovr | -- | -- | true false | Whether the mobile device's location API was used to determine location (rather than the source IP address) |
Bandwidth
The following fields live under the bandwidth: {}
object in S3.
Also see Bandwidth & Latency details in the Other Parameters section below.
Query String Param | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|
bw | kbps | bandwidthkbps | kbps | 1000 | Bandwidth (in kbps) as measured by the bandwidth test |
bw_err | error_pc | bandwidtherrorpc | kpbsError | 10 | Error in measuring the bandwidth based on standard deviation |
block | bandwidthblockcode | bandwidthBlock | 1 5 | Bandwidth block (calculated by the server) | |
bw_debug | bw_debug | -- | -- | 5_20 | Bandwidth debugging info |
Timers
All timers are in milliseconds unless otherwise specified.
The following fields live under the timers: {}
object in S3 unless otherwise specified.
Standard Timers
Timers | Query String Param | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|---|
Base Timers | The following fields are sent on the beacon as-is | |||||
Unload Time | -- | unload_time | unloadTime | -- | 100 | Time unloading the previous page |
Redirect Time | -- | redirect_time | redirectTime | -- | 100 | Time from redirect start to redirect end |
Waiting Time | -- | waiting_time | waitingTime | -- | 100 | Time from request start to response start |
Download Time | -- | download_time | downloadTime | -- | 100 | Time from response start to response end |
Back-End Time (TTFB) | t_resp | t_resp | firstbytetimer | timersResponse | 100 | Time from navigation start to first byte |
Front-End Time | t_page | t_page | firstlastbytetimer | timersPage | 100 | Time from first byte to onload (or whenever the page is considered ready) |
Page Load time | t_done | t_done | pageloadtime | timersDone | 100 | Time from navigation start to onload (or whenever the page is considered ready) |
DOM Loaded | t_domloaded | t_domloaded | timerstdomloaded | timersDomLoaded | 100 | Time from navigation start to when the DOMContentLoaded event fired |
config.json first byte | t_configfb | t_configfb | timerstconfigfb | timersConfigFirstByte | 100 | Time from config.json request to config.json first byte |
config.json load time | t_configjs | t_configjs | timerstconfigjs | timersConfigJs | 100 | Time from config.json request to config.json load complete |
Worker Start | -- | worker_start | workerStart | -- | 100 | Time for Service Worker start |
Other Timers | The following are sent on the beacon as part of t_other | |||||
Boomerang loader | boomr_ld | boomr_ld | timersboomrld | timersBoomerangLoader | 100 | Time from navigation start to when the Boomerang loader initiates Boomerang download |
Boomerang first byte | boomr_fb | boomr_fb | timersboomrfb | timersBoomerangFirstByte | 100 | Time from navigation start to first byte of Boomerang |
Boomerang latency | boomr_lat | boomr_lat | timersboomrlat | timersBoomerangLatency | 100 | Time from Boomerang request to Boomerang first byte |
Boomerang download time | boomerang | boomerang | timersboomerang | timersBoomerang | 100 | Time from first byte of Boomerang until Boomerang completes initialization |
Detailed Boomerang Times | The following are sent on the beacon compressed using Resource Timing compression | |||||
Detailed Boomerang times | rt.bmr | params["rt.bmr"] | paramsRtBmr* | -- | 145,124,2 | Resource Timing values for Boomerang, compressed using the Resource Timing compression algorithm |
Detailed config.json times | rt.cnf | params["rt.cnf"] | paramsRtCnf* | -- | 301,100,3 | Resource Timing values for config.json , compressed using the Resource Timing compression algorithm |
Prerender States
These are only supported on Chrome at this time.
See Chromium Prerender docs & Prerendering in Chrome
Prerender states | Query String Param | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|---|
Prerender complete | t_load | t_load | timerstload | timersLoad | 100 | Time from navigation start to onload, if the page was in a pre-rendered state when onload fired |
Total prerender | t_prerender | t_prerender | timerstprerender | timersPreRender | 100 | Time from navigation start to page becoming visible, if it went through a pre-rendered state first |
Post render | t_postrender | t_postrender | timerstpostrender | timersPostRender | 100 | Time from onload in a pre-rendered state to page becoming visible |
Added by Server
The following are calculated on the server. There are no query string parameters.
S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|
navSt_to_boomr | timersnavsttoboomr | timersNavigationStartToBoomerang | 100 | Time from navigation start to when the Boomerang loader initiates Boomerang download |
fb_to_boomr | timersfbtoboomr | timersFirstByteToBoomerang | 100 | Time from the first byte of the page to Boomerang's request initiation. This is used by FirstByteEstimator for beacons without a valid load time. |
boomr_to_end | timersboomrtoend | timersBoomerangToEnd | 100 | Time from Boomerang's request initiation to page load. This is used by FirstByteEstimator for beacons without a valid load time. |
before_dns | timersbeforedns | timersBeforeDns | 100 | domainLookupStart - navigationStart from NavigationTiming |
dns | dnstimer | timersDns | 100 | domainLookupEnd - domainLookupStart from NavigationTiming |
tcp | tcptimer | timersTcp | 100 | connectEnd - connectStart from NavigationTiming |
ssl | ssltimer | timersSsl | 100 | connectEnd - secureConnectionStart from NavigationTiming |
domLoad | domloadtimer | timersDomLoad | 100 | domLoading - navigationStart from NavigationTiming |
domReady | domreadytimer | timersDomReady | 100 | domComplete - navigationStart from NavigationTiming |
renderStart | timersrenderstart | timersRenderStart | 100 | firstPaint - navigationStart from NavigationTiming |
loaded | timersloaded | timersLoaded | 100 | loadEventEnd - navigationStart from NavigationTiming |
Custom Timers
Custom Timers are configured via the mPulse App config dialog and may be based on a JavaScript variable, NavigationTiming, Resource Timing or User Timing.
On the beacon, these are part of t_other
.
Query String Param | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|
custom[0-9] | custom[0-9] | customtimer[0-9] | timersCustom[0-9] | 100 | Custom Timer #[n] |
User Defined Timers
You may also add your own timers by calling BOOMR.plugins.RT.setTimer()
from JavaScript.
Every custom timer also contains a corresponding *_st
(eg: custom0_st
) that specifies the timestamp (Unix epoch) when the timer started.
Custom Metrics
Custom metrics are defined in the mPulse App config dialog.
On the beacon, these metrics have the prefix cmet.
, followed by a sanitized version of the metric name.
In the S3 logs, these metrics are all numerically indexed. Example:
...
custom_metrics: {
"0": 10,
"5": 1
},
...
Metric values are always numeric.
Currency values are always in the lowest unit (eg, ¢ rather than $). If a decimal place is included, then the value is multiplied by 100 to get the actual currency value.
Query String Param | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|
cmet.[Metric0-9_Name] | 0 | custommetric[0-9] | customMetric[0-9] | 1 | Custom Metric #[n] |
Custom Dimensions
Custom dimensions are defined in the mPulse App config dialog.
On the beacon, these dimensions have the prefix cdim.
, followed by a sanitized version of the dimension name.
In the S3 logs, these dimensions are in the custom_dimensions
array indexed by their dimension number. Dimensions that aren't set may be null
or missing (if no dimensions follow). Example:
...
custom_dimensions: [
{
"Region": "us",
"alias": "United States"
},
null,
{
"Logged In": false,
"alias": "False"
}
],
...
Dimension values may be numeric, string or boolean.
Query String Param | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|
cdim.[Dimension0-9_Name] | (index 0) | customdimension[0-9]value | -- | { "Region": "us", "alias": "United States" } | Custom Dimension #[n] |
HTTP Headers
The following fields live under the headers: {}
object in S3.
All headers are lower-cased.
This is not an exhaustive list of all possible HTTP headers.
Source | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|
CDNs | x-forwarded-for | -- | -- | 1.2.3.0 1.2.3.0,2.2.2.0 | List of IP addresses specifying user and all proxies between CDN and the user (truncated) |
CDNs | x-forwarded-proto | -- | -- | https http spdy | Protocol used by end user's browser to connect to CDN endpoint |
Akamai | aka-true-ip | -- | -- | 1.2.3.0 | Client IP (truncated) |
Browser | connection | -- | -- | close keep-alive | The HTTP Connection header specifies if the browser is willing to handle persistent TCP conections or not |
Browser | host | headershost | headersHost | abc123.akstat.io | The beacon server where the beacon was sent. This is required by the HTTP specification. |
Browser | accept-encoding | headersacceptencoding | headersAcceptEncoding | gzip deflate sdch br | List of encoding (compression) types supported by the user's browser |
Browser | accept-language | -- | -- | en_US fr_CH | Language encodings supported by the user's browser. This could suggest the user's locale. |
Browser | accept | headersaccept | headersAccept | */* | Content types supported by the browser, along with their priorities |
Browser | content-length | headerscontentlength | headersContentLength | 1234 | This is only used for POST beacons and is the number of bytes in the POSTed beacon |
Other Parameters
Navigation Timing Data
See the NavigationTiming spec for more details, and browser support can be reviewed at caniuse.com.
All timestamps are in (Unix epoch) unless otherwise specified.
The following fields live under the params: {}
object in S3.
Query String Param | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|
nt_nav_type | nt_nav_type | paramsntnavtype | ntNavigationType | 0 1 2 | Navigation Type: performance.navigation.type |
nt_nav_st | nt_nav_st | paramsntnavst | ntNavigationStart | 1512086400000 | Navigation Start: performance.timing.navigationStart |
nt_red_st | nt_red_st | paramsntredst | ntRedirectionStart | 1512086400000 | Redirect Start: performance.timing.redirectStart |
nt_red_end | nt_red_end | paramsntredend | ntRedirectionEnd | 1512086400000 | Redirect End: performance.timing.redirectEnd |
nt_red_cnt | nt_red_cnt | paramsntredcnt | ntRedirectionCnt | 1512086400000 | Redirect Count: performance.navigation.redirectCount |
nt_fet_st | nt_fet_st | paramsntfetst | ntFetchStart | 1512086400000 | Fetch Start: performance.timing.fetchStart |
nt_dns_st | nt_dns_st | paramsntdnsst | ntDnsStart | 1512086400000 | DNS Start: performance.timing.domainLookupStart |
nt_dns_end | nt_dns_end | paramsntdnsend | ntDnsEnd | 1512086400000 | DNS End: performance.timing.domainLookupEnd |
nt_con_st | nt_con_st | paramsntconst | ntTcpStart | 1512086400000 | TCP Start: performance.timing.connectStart |
nt_ssl_st | nt_ssl_st | paramsntsslst | ntSslStart | 1512086400000 | SSL Start: performance.timing.secureConnectionStart |
nt_con_end | nt_con_end | paramsntconend | ntTcpEnd | 1512086400000 | TCP End: performance.timing.connectEnd |
nt_req_st | nt_req_st | paramsntreqst | ntRequestStart | 1512086400000 | Request Start: performance.timing.requestStart |
nt_res_st | nt_res_st | paramsntresst | ntResponseStart | 1512086400000 | Response Start: performance.timing.responseStart |
nt_unload_st | nt_unload_st | paramsntunloadst | ntUnloadStart | 1512086400000 | Unload Event Start: performance.timing.unloadEventStart |
nt_unload_end | nt_unload_end | paramsntunloadend | ntUnloadEnd | 1512086400000 | Unload Event End: performance.timing.unloadEventEnd |
nt_domloading | nt_domloading | paramsntdomloading | ntDomLoading | 1512086400000 | DOM Loading: performance.timing.domLoading |
nt_res_end | nt_res_end | paramsntresend | ntResponseEnd | 1512086400000 | Response End: performance.timing.responseEnd |
nt_domint | nt_domint | paramsntdomint | ntDomInt | 1512086400000 | DOM Interactive: performance.timing.domInteractive |
nt_domcontloaded_st | nt_domcontloaded_st | paramsntdomcontloadedst | ntDomContLoadedStart | 1512086400000 | DOMContentLoaded Start: performance.timing.domContentLoadedEventStart |
nt_domcontloaded_end | nt_domcontloaded_end | paramsntdomcontloadede | ntDomContLoadedEnd | 1512086400000 | DOMContentLoaded End: performance.timing.domContentLoadedEventEnd |
nt_domcomp | nt_domcomp | paramsntdomcomp | ntDomComp | 1512086400000 | DOM Complete: performance.timing.domComplete |
nt_load_st | nt_load_st | paramsntloadst | ntLoadStart | 1512086400000 | Load Event Start: performance.timing.loadEventStart |
nt_load_end | nt_load_end | paramsntloadend | ntLoadEnd | 1512086400000 | Load Event End: performance.timing.loadEventEnd |
nt_worker_start | nt_worker_start | -- | -- | 1512086400000 | Worker Start: performance.timing.workerStart |
nt_firstpaint | nt_firstpaint | paramsntfirstpaint | ntFirstPaint | 1512086400000 | note that this is milliseconds on IE, but seconds.microseconds on Chrome. Not supported on other browsers. |
nt_spdy | nt_spdy | paramsntspdy | ntSpdy | 1 or 0 | Whether the page was served using SPDY |
nt_cinf | nt_cinf | -- | -- | http/1.1 http/2+quic/37 | Connection info |
nt_protocol | nt_protocol | nextHopProtocol | -- | http/1.1 http/2+quic/37 | Next Hop Protocol information (NavigationTiming2) |
nt_enc_size | nt_enc_size | -- | -- | 100000 | Compressed size in bytes of the page (NavigationTiming2) |
nt_dec_size | nt_dec_size | -- | -- | 100000 | Uncompressed size in bytes of the page (NavigationTiming2) |
nt_trn_size | nt_trn_size | -- | -- | 100000 | Transfer size in bytes of the page (NavigationTiming2) |
nt_bad | nt_bad | -- | -- | 1 | If set, then the NavigationTiming data cannot be trusted due to a browser bug |
Paint Timing Data
Data from the Boomerang PaintTiming
plugin
See the PaintTiming spec for more details, and browser support can be reviewed at caniuse.com.
All timestamps are in DOMHighResTimeStamp rounded to the nearest millisecond.
The following fields live under the timers: {}
object in S3:
Query String Param | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|
pt.fp | fp | firstPaint | -- | 100 | First Paint |
pt.fcp | fcp | firstContentfulPaint | -- | 300 | First Contentful Paint |
pt.lcp | lcp | largestContentfulPaint | -- | 500 | Largest Contentful Paint |
The following fields live under the params: {}
object in S3:
Query String Param | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|
pt.hid | pt.hid | -- | -- | 1 | The document was loaded hidden, so paint metrics won't be added to the beacon |
pt.lcp.src | pt.lcp.src | -- | -- | http://example.com/img.jpg | Source URL of the Largest Contentful Paint element |
pt.lcp.el | pt.lcp.el | -- | -- | IMG | Element tag name of the Largest Contentful Paint |
pt.lcp.e | pt.lcp.e | -- | -- | body#content .hero-image | Element Pseudo-CSS selector for the Largest Contentful Paint |
pt.lcp.s | pt.lcp.s | -- | -- | 50000 | Size of the Largest Contentful Paint in device-independent pixels squared |
pt.lcp.id | pt.lcp.id | -- | -- | hero-image | Element ID of the Largest Contentful Paint |
pt.lcp.srcset | pt.lcp.srcset | -- | -- | img.jpg 480w, img-large.jpg 800w | Element srcset property of the Largest Contentful Paint |
pt.lcp.sizes | pt.lcp.sizes | -- | -- | (max-width: 600px) 480px, 800px | Element sizes property of the Largest Contentful Paint |
Single Page App
Information about Single Page App (SPA) navigations.
The following fields live under the params: {}
object in S3.
Query String Param | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description |
---|---|---|---|---|---|
spa.missed | spa.missed | -- | -- | 1 or missing | The SPA hard navigation missed the SPA's route change event |
spa.forced | spa.forced | -- | -- | 1 or missing | The SPA hard navigation was forced to completion by BOOMR.plugins.spa.markNavigationComplete() |
spa.waiting | spa.waiting | -- | -- | 10 | The number of resources that were outstanding when the SPA hard navigation was forced |
spa.t_click | spa.t_click | -- | -- | 10 | The delta between the last click event and the start of the route change (ms) |
Debugging Info and Timestamps
Other browser timestamps and related information taken in Boomerang, mainly used for debugging.
All timestamps are in (Unix epoch) unless otherwise specified.
The following fields live under the params: {}
object in S3.
Debugging Info and Timestamps | Query String Param | S3 | Asgard | DSWB BEACON_TABLE var | Examples | Description | |
---|---|---|---|---|---|---|---|
Boomerang Version | v | v | boomerangversionname | boomerangVersion | 1.500.0 | mPulse boomerang.js version | |
Boomerang Snippet Version | sv | sv | -- | -- | 12 | mPulse Loader Snippet version | |
Boomerang Snippet Method | sm | sm | -- | -- | s i if p | mPulse Loader Snippet method (SCRIPT, IFRAME, IFRAME fallback, or Preload) | |
Navigation Start Method | rt.start | rt.start | paramsrtstart | rtStart | none navigation cookie manual csi | Specifies the method used to determine the start time | |
Navigation Start Time | rt.tstart | rt.tstart | paramsrttstart | rtNavigationStart | 1512086400000 | Timestamp of navigation start using the method specified in rt.start | |
Cookie Navigation Start | rt.cstart | rt.cstart | paramsrtcstart | rtCookieStart | 1512086400000 | The value of t_start from the cookie, if different from rt.tstart | |
Boomerang Start | rt.bstart | rt.bsta |