Skip to main content

Browser agent collection data

The WhaTap browser agent collects events that occur from each user's browser, reprocesses the collected data, and uses the data for monitoring. All collected data is user session dependent.

Types

The following lists the types of data that the WhaTap browser agent collects.

  • Long: A unique ID data type in the long to string32 format.
  • TimeStamp: Time stamp upon measurement, in milliseconds (ms).
  • HighResolutionTime: Elapsed time in milliseconds (ms)
  • TimeSet: The start time stamp and the elapsed time are displayed for display of a timeline.
  • It is any of ResourceType : document, xhr, fetch, beacon, css, script, image, font, media, and other.
  • ErrorType : It is any of console, onError, promiseRejection, fetchError, xhrError, and messageError.

Common collection data

When any event occurs, the collected basic data is as follows:

Data nameTypeDescriptionExample
sessionIDLongA unique ID issued when a web application user starts navigating to a web page. The maximum duration of a session is 4 hours, and the ID expires after 15 minutes of inactivity. IDs are stored in browser cookies.x7dbvq64ga80sd
userIDLongIt is a unique ID issued when a web application user first connects and has no expiration time. IDs are stored in browser cookies.z7eqnnitlc19j9
sendEventIDLongThis is a unique request ID issued when data is transmitted to the collection server after an event occurs.x4rp4tnuq25i0h
page.urlStringThe URL of the page where an event occurred.https://site.whatap.io/8/dashboard?dataKey=abcd
page.hostStringThe URL domain name of the page where an event occurred.site.whatap.io
page.pathStringThe URL path of the page where an event occurred./8/dashboard
page.queryStringThe URL parameter of the page where an event occurred.dataKey=abcd
page.protocolStringThe URL protocol of the page where an event occurred.https
page.titleStringThe document title of the page where an event occurred.SaaS Monitoring No.1 WhaTap Monitoring
userAgentStringThe useragent of the browser where an event occurred.Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/103.0.0.0
Safari/537.36

Page Load Event

This event occurs when you access the web application and the page content is fully loaded. The basic collection data is as follows:

Data nameTypeDescriptionExample
navigationTiming.startTimeStampTimeStampIt is the time stamp of navigationStart. Time stamp of the page that starts loading1658057382311
navigationTiming.eventIDLongThis is a unique ID issued when a page loading event occurs.x7mkg24tags307
navigationTiming.redirectTimeSetTime taken for HTTP redirection.{duration: 10, start: 315}
navigationTiming.cacheTimeSetTime taken to load the app cache resources.{duration: 5, start: 325}
navigationTiming.dnsTimeSetTime taken for browsing the website domain.{duration: 5, start: 330}
navigationTiming.connectTimeSetTime taken for TCP connection setting.{duration: 6, start: 335}
navigationTiming.sslTimeSetTime taken for the ssl handshake process.{duration: 5, start: 336}
navigationTiming.downloadTimeSetTime taken for document downloading.{duration: 100, start: 341}
navigationTiming.firstByteTimeSetIt is the time taken for the browser to request a document from the server and receive the first byte.{duration: 10, start: 341}
navigationTiming.domInteractiveHighResolutionTimeIt is the time when the browser finished parsing the document from navigationStart. DOM is ready.441
navigationTiming.domContnentLoadedTimeSetTime taken to build the DOM tree.{duration: 50, start: 441}
navigationTiming.domCompleteHighResolutionTimeThis is the time between navigationStart and completion of loading documents and resources.491
navigationTiming.domLoadTimeSetTime taken for the onload event.{duration: 1, start: 491}
navigationTiming.backendTimeHighResolutionTimeTime from navigationStart to resource downloading.126
navigationTiming.frontendTimeTimeSetTime from browser parsing completion to load event completion.{duration: 51, start: 441}
navigationTiming.loadTimeHighResolutionTimeTime from navigationStart to loadEventEnd.492
totalDurationHighResolutionTimeThis is the time between navigationStart and completion of importing the final page.550

Router change event

This event occurs when you move to a page in a single page application (SPA) type web application. The basic collection data is as follows:

Data nameTypeDescriptionExample
loadTimeHighResolutionTimeTime taken to change the router.500
startTimeStampTimeStampTimestamp of the router change start time.1658057382311
endTimeStampTimeStampTimestamp of the router change completion time.1658057382811
pageLocationStringThe URL of the page where a router change event occurred.https://site.whatap.io/8/dashboard?dataKey=abcd
hostStringURL domain name of the page URL where a router change event occurred.site.whatap.io
pathStringThe URL path of the page where a router change event occurred./8/dashboard
queryStringThe URL parameter of the page where a router change event occurred.dataKey=abcd
protocolStringThe URL protocol of the page where a router change event occurred.https
isCompleteBooleanThis value is used to distinguish when a router is changed to another page while the router change is not completed.true

Resource Load Event

This event occurs when you call a resource while using the web application. The basic collection data is as follows:

Data nameTypeDescriptionExample
startTimeHighResolutionTimeTime from navigationStart to the resource request start.1000
startTimeStampTimeStampTimestamp of the resource request start.1658057382321
eventIDLongA unique ID issued each time a resource is fetched.x280or4ok0kqo0
typeResourceTypeResource type.image
urlStringResource URL.https://unpkg.com/purecss@2.0.3/build/pure-min.css?dataKey=abcd
urlHostStringDomain name of the resource URL.unpkg.com
urlPathStringPath of the resource URL./purecss@2.0.3/build/pure-min.css
urlQueryStringParameter of the resource URL.dataKey=abcd
urlProtocolStringProtocol of the resource URL.https
is3rdPartyBooleanThis value is used to identify resources requested by the 3rd party.false
timing.durationHighResolutionTimeTime taken to complete the resource download.61
timing.sizeNumberResource encoding size.20
timing.redirectTimeSetTime taken for HTTP redirection.{duration: 10, start: 315}
timing.cacheTimeSetTime taken to load the app cache resources.{duration: 5, start: 325}
timing.dnsTimeSetTime taken to search the resource domain.{duration: 5, start: 330}
timing.connectTimeSetTime taken for TCP connection setting.{duration: 6, start: 335}
timing.sslTimeSetTime taken for the ssl handshake process.{duration: 5, start: 336}
timing.firstByteTimeSetIt is the time taken for the browser to request resources from the server and receive the first byte.{duration: 10, start: 341}
timing.downloadTimeSetTime taken to complete the resource download.{duration: 100, start: 341}
resourceInfo.methodStringResource request method.POST
resourceInfo.statusNumberResource request state.200

Error event

It is an error that occurred from the browser while you are using the web application. The basic collection data is as follows:

Data nameTypeDescriptionExample
messageStringMessage displayed when an error occurs.SyntaxError: Unexpected end of JSON input
stackStringStack information displayed when an error occurs.at printWarning (webpack-internal:///../node_modules/react-dom/cjs/react-dom.development.js:86:30)

at error (webpack-internal:///../node_modules/react-dom/cjs/react-dom.development.js:60:7)
timestampTimeStampTimestamp of an error occurred.1658057382321
typeErrorTypeError type.onError
statusNumberThis is the error status value to be collected when the error type is xhr or fetch.501
urlStringThis is the AJAX request URL when the error type is xhr or fetch.https://site.whatap.io/yard/api?pcode=8&type=summary

Core Web Vitals Event

Core Web Vitals are three metrics that Google considers important, among various measurement values that affect the user experience of web content. The basic collection data is as follows:

Data nameTypeDescriptionExample
lcpHighResolutionTimeLargest Contentful Paint (LCP), which reports the rendering time of the largest image or text block within the viewport based on the first page loaded time.12334
fidHighResolutionTimeFirst Input Delay (FID), from the first time you interact with the page (e.g. clicking a link, tapping a button, or using a custom JavaScript-based control) to the time to start the event handler in response to that interaction.7
clsNumberCumulative Layout Shift (CLS) is a score that quantifies the unexpected layout shifts caused by the dynamically loaded content.2