本文へスキップ

ブラウザーエージェント収集データ

WhaTapブラウザーエージェントは、ユーザーのブラウザーで発生したイベントを収集し、収集したデータを再処理してモニタリングを使用します。 すべての収集データは、ユーザーセッションに依存します。

タイプ(Type)

以下は、WhaTapブラウザーエージェントによって収集されるデータタイプです。

  • Long:long to string32までの形式の固有IDのデータタイプです。
  • TimeStamp:ms(millisecond) 単位で、測定時間のタイムスタンプです。
  • HighResolutionTime:ms単位の所要時間です。
  • TimeSet:タイムライン表示のために開始タイムスタンプと所要時間を表示します。
  • ResourceType:「document」、「xhr」、「fetch」、「beacon」、「css」、「script」、「image」、「font」、「media」、「other」のいずれかを意味します。
  • ErrorType:「console」、「onError」、「promiseRejection」、「fetchError」、「xhrError」、 「messageError」のいずれかを意味します。

共通収集データ

イベント発生時の基本的に収集されるデータは次のとおりです。

データ名タイプ説明
sessionIDLongウェブアプリケーションのユーザーがウェブアクセスを開始する際に発行される固有IDです。 セッションの保持期間は最大4時間で、15分間続くと、ID の有効期限が切れます。 ブラウザークッキーに保存します。x7dbvq64ga80sd
userIDLongウェブアプリケーションユーザーが初めて接続するときに発行される固有IDで、有効期限がありません。 ブラウザークッキーに保存します。z7eqnnitlc19j9
sendEventIDLongイベント発生後に収集サーバーへのデータ送信時に発行するリクエストの固有IDです。x4rp4tnuq25i0h
page.urlStringイベントが発生したページのURLです。https://site.whatap.io/8/dashboard?dataKey=abcd
page.hostStringイベントが発生したページのURLのドメイン名です。site.whatap.io
page.pathStringイベントが発生したページのURLのパスです。/8/dashboard
page.queryStringイベントが発生したページのURLのパラメータです。dataKey=abcd
page.protocolStringイベントが発生したページのURLのプロトコルです。HTTPS
page.titleStringイベントが発生したページの文書タイトルです。SaaSモニタリングNo.1のWhaTapモニタリング | WhaTap
userAgentStringイベントが発生したブラウザーのuseragentです。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

ページロードイベント

ユーザーがウェブアプリケーションにアクセスし、ページのコンテンツを完全に読み込んだときに発生するイベントです。 基本的な収集データは次のとおりです。

データ名タイプ説明
navigationTiming.startTimeStampTimeStampnavigationStartのタイムスタンプです。 ページを読み込みが開始された時間のタイムスタンプ値です。1658057382311
navigationTiming.eventIDLongページを読み込むイベントの発生時に発行する固有IDです。x7mkg24tags307
navigationTiming.redirectTimeSethttpリダイレクションの所要時間です。{duration: 10, start: 315}
navigationTiming.cacheTimeSetapp cacheリソースを読み込みにかかる時間です。{duration: 5, start: 325}
navigationTiming.dnsTimeSetウェブサイトのドメイン検索にかかった時間です。{duration: 5, start: 330}
navigationTiming.connectTimeSetTCP接続設定の所要時間です。{duration: 6, start: 335}
navigationTiming.sslTimeSetssl handshakeプロセスの所要時間です。{duration: 5, start: 336}
navigationTiming.downloadTimeSetdocumentダウンロードの所要時間です。{duration: 100, start: 341}
navigationTiming.firstByteTimeSetブラウザーがサーバーにdocumentをリクエストし、最初のバイトを受信するまでの所要時間です。{duration: 10, start: 341}
navigationTiming.domInteractiveHighResolutionTimenavigationStartからブラウザーがdocumentのパーシングを完了した時刻です。 DOMが用意されているステータスです。441
navigationTiming.domContnentLoadedTimeSetDOMツリーを生成するのにかかる所要時間です。{duration: 50, start: 441}
navigationTiming.domCompleteHighResolutionTime「navigation Start」からdocumentおよび下位リソースの読み込みを完了した時間です。491
navigationTiming.domLoadTimeSet「onload」イベントの所要時間です。{duration: 1, start: 491}
navigationTiming.backendTimeHighResolutionTime「navigationStart」からリソースのダウンロードまでの所要時間です。126
navigationTiming.frontendTimeTimeSetブラウザーがパーシングを完了した時間からloadイベントが完了するまでの所要時間です。{duration: 51, start: 441}
navigationTiming.loadTimeHighResolutionTime「navigationStart」から「loadEventEnd」までの所要時間です。492
totalDurationHighResolutionTime「navigation Start」から最終ページロードを完了した時間です。550

ページロード時間

ページロード時間はウェブブラウザーで、特定ページのURLを要請した瞬間からページのすべてのリソース(HTML、CSS、JavaScript、画像など)がダウンロードおよび処理され、ブラウザーがページを完全にレンダリングして使用可能な状態になるまでの合計時間を意味します。

ページロード時間を収集するために、ブラウザーエージェントはブラウザーで提供するWeb API中の一つであるNavigation Timing APIを通じて収集します。 このAPIを通じて各段階別の時間(例: リクエストの開始、応答、レンダリングの開始と完了)を測定して提供します。

PerformanceTimingインターフェースを通じてアクセスできるミリ秒単位の測定イベントがあります。 以下は、これらのイベントが発生する順に表示した一覧です。

Navigation timing

イベント説明備考
navigationStartページの探索開始時点です。-
redirectStart最初のHTTPリダイレクトの開始時点です。リダイレクトがなければ値は0です。
redirectEnd最後のリダイレクトの応答受信完了の時点です。リダイレクトがなければ値は0です。
fetchStartブラウザーがリソースを読み込むプロセスを開始する時点です。キャッシュ照会が始まる時点でもあります。
domainLookupStartドメイン名に対するDNS照会の開始時点です。ブラウザーがURLのホスト名をIPアドレスに変換し始めます。 キャッシュされたDNS情報があるか、ローカル_hosts_ファイルに情報があればfetchStartと同じ値になります。
domainLookupEndDNS照会完了の時点です。ブラウザーがドメインのIPアドレスを正常に取得します。 DNS照会に失敗しても、この時点で記録します。
connectStartサーバーとの接続開始時点です。TCP接続を開始します。 もし持続的な連結(persistent connection)を再利用する場合、domainLookupEndと同じ値になります。
connectEndサーバーとの接続が完全に設定された時点です。TCPハンドシェイクを完了します。 HTTPSの場合、SSL/TLS ハンドシェイクもこの時点までに完了します。 接続が失敗しても、この時点で記録します。
secureConnectionStartHTTPS接続開始時点です。該当する場合のみ記録します。
requestStartサーバーにリソースを要請し始めた時点です。-
responseStartサーバーから応答の最初のバイト(byte)を受け始めた時点です。HTTP応答ヘッダーの最初のバイト(byte)を受信した時点であり、サーバーの初期応答時間(Time to First Byte、TTFB)を計算するのに使用します。
responseEndサーバーから最後のバイト(byte)を受け取った時点全体応答(ヘッダーと本文)をすべて受け取った時点です。 リダイレクト応答があれば、最終応答の最後のバイト(byte)を受け取った時点です。
domInteractiveDOMパーシングが終わり、スクリプト実行の準備ができた時点です。-
domContentLoadedEventStartDOMContentLoadedイベントが発生した時点です。この時は、HTML文書のローディングとパーシングが完了し、DOMツリーが完全に構築されたことを意味します。
domContentLoadedEventEndすべてのDOMContentLoadedイベントハンドラーの実行が完了した時点です。-
domCompleteDOMローディングと下位リソースローディングが完了した時点です。-
loadEventStartloadイベント発生直前の時点です。DOMが完全に構成され、すべてのリソースをロードした直後です。 window.onloadイベントハンドラーが実行される直前の時点です。
loadEventEndすべてのloadイベントハンドラーの実行が完了した時点です。ページとすべての従属リソースを完全にロードした状態です。

ルーター変更イベント

ユーザーがSingle Page Application(SPA) の形式のウェブアプリケーションでページ移動時に発生するイベントです。 基本的な収集データは次のとおりです。

データ名タイプ説明
loadTimeHighResolutionTimeルーター変更の所要時間です。500
startTimeStampTimeStampルーター変更開始時間のタイムスタンプです。1658057382311
endTimeStampTimeStampルーター変更終了時間のタイムスタンプです。1658057382811
pageLocationStringルーター変更イベントが発生したページのURLです。https://site.whatap.io/8/dashboard?dataKey=abcd
hostStringルーター変更イベントが発生したページのURLのドメイン名です。site.whatap.io
pathStringルーター変更イベントが発生したページのURLのパスです。/8/dashboard
queryStringルーター変更イベントが発生したページのURLのパラメータです。dataKey=abcd
protocolStringルーター変更イベントが発生したページのプロトコルです。HTTPS
isCompleteBooleanルーターの変更が完了していない状態でルーターを別のページに変更する場合の区切り値です。true

リソースロードイベント

ユーザーがウェブアプリケーションを使用中にリソースを読み込みしたときに発生するイベントです。 基本的な収集データは次のとおりです。

データ名タイプ説明
startTimeHighResolutionTime「navigationStart」からリソースリクエスト開始までの時間です。1000
startTimeStampTimeStampリソースリクエスト開始のタイムスタンプです。1658057382321
eventIDLongリソースを読み込むたびに発行する固有IDです。x280or4ok0kqo0
typeResourceTypeリソースタイプです。image
urlStringリソースURLです。https://unpkg.com/purecss@2.0.3/build/pure-min.css?dataKey=abcd
urlHostStringリソースURLのドメイン名です。unpkg.com
urlPathStringリソースURLのパスです。/purecss@2.0.3/build/pure-min.css
urlQueryStringリソースURLのパラメータです。dataKey=abcd
urlProtocolStringリソースURLのプロトコルです。HTTPS
is3rdPartyBoolean3rd partyにリクエストしたリソースを区分するための値です。false
timing.durationHighResolutionTimeリソースのダウンロード完了までにかかる時間です。61
timing.sizeNumberリソースのエンコードサイズです。20
timing.redirectTimeSethttpリダイレクションの所要時間です。{duration: 10, start: 315}
timing.cacheTimeSetapp cacheリソースを読み込みにかかる時間です。{duration: 5, start: 325}
timing.dnsTimeSetリソースドメインにかかった時間です。{duration: 5, start: 330}
timing.connectTimeSetTCP接続設定の所要時間です。{duration: 6, start: 335}
timing.sslTimeSetssl handshakeプロセスの所要時間です。{duration: 5, start: 336}
timing.firstByteTimeSetブラウザーがサーバーにリソースをリクエストし、最初のバイトを受信するまでの所要時間です。{duration: 10, start: 341}
timing.downloadTimeSetリソースダウンロードの所要時間です。{duration: 100, start: 341}
resourceInfo.methodStringリソースリクエストのメソッドです。POST
resourceInfo.statusNumberリソースリクエストのステータスです。200

エラーイベント

ユーザーがウェブアプリケーションの使用中にブラウザーで発生したエラーです。 基本的な収集データは次のとおりです。

データ名タイプ説明
messageStringエラー発生時のメッセージ情報です。SyntaxError: Unexpected end of JSON input
stackStringエラー発生時のスタック情報です。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)
timestampTimeStampエラー発生時のタイムスタンプです。1658057382321
typeErrorTypeエラータイプです。onError
statusNumberエラータイプが「xhr」、「fetch」の場合に収集するエラーステータス値です。501
urlStringエラータイプが「xhr」、「fetch」の場合は、AJAXリクエストURLです。https://site.whatap.io/yard/api?pcode=8&type=summary

コアウェブバイタルイベント

コアウェブバイタル(Core Web Vitals)は、ウェブコンテンツ利用者の使用経験に影響を与えるさまざまな測定値の中でグーグルを重要視する3つのメトリクスです。 基本的な収集データは次のとおりです。

データ名タイプ説明
lcpHighResolutionTimeLargest Contentful Paint(LCP)、ページを最初に読み込み始めた時間を基準にビューポート内の最大の画像またはテキストブロックのレンダリング時間を報告します。12334
fidHighResolutionTimeFirst Input Delay(FID)、ユーザーがページと初めて操作したとき(例:リンクをクリックしたり、ボタンをタップしたとき、カスタムJavaScriptベースのコントロールを使用するとき)からその操作にレスポンスしてブラウザーがイベントハンドラー処理を開始するまでの時間を測定します。7
clsNumberCumulative Layout Shift(CLS)は、動的に読み込まれたコンテンツによる予期せぬレイアウト移動を数値化して表現した点数です。2