CloudWatch RUMWeb 客戶端收集的信息 - Amazon CloudWatch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

CloudWatch RUMWeb 客戶端收集的信息

本節說明結構PutRumEvents描述,它定義了您可以使用從使用者工作階段收集的資料結構 CloudWatch RUM。

PutRumEvents請求會將包含下列欄位的資料結構傳送至 CloudWatch RUM。

  • 此批次RUM事件的識別碼

  • 應用程式監控詳細資訊,其中包含下列各項:

    • 應用程式監控 ID

    • 監控的應用程式版本

  • 使用者詳細資訊,其中包含下列各項。只有在應用程式監控已啟用 Cookie 時,才會收集此資訊。

    • 由 Web 用戶端產生的使用者 ID

    • 工作階段 ID

  • 此批次中的RUM事件陣列。

RUM事件模式

每個RUM事件的結構包括下列欄位。

RUM事件元數據

中繼資料包括頁面中繼資料、使用者代理程式中繼資料、地理位置中繼資料和網域中繼資料。

頁面中繼資料

頁面中繼資料包括下列項目:

  • 頁面 ID

  • 頁面標題

  • 父頁面 ID。– 只有在應用程式監視器已啟用 Cookie 時,才會收集此資訊。

  • 互動深度 – 只有在應用程式監視器已啟用 Cookie 時,才會收集此資訊。

  • 頁面標籤 – 您可以將標籤新增至頁面事件,以將頁面分類在一起。如需詳細資訊,請參閱 使用頁面群組

使用者代理程式中繼資料

使用者代理程式中繼資料包括下列項目:

  • 瀏覽器語言

  • 瀏覽器名稱

  • 瀏覽器版本

  • 作業系統名稱

  • 作業系統版本

  • 裝置類型

  • 平台類型

地理位置中繼資料

地理位置中繼資料包括下列項目:

  • 國家代碼

  • 細分代碼

網域中繼資料

網域中繼資料包含URL網域。

RUM活動詳情

事件的詳細資訊會遵循下列其中一種結構描述類型,視事件類型而定。

工作階段啟動事件

此事件不包含任何欄位。只有在應用程式監控已啟用 Cookie 時,才會收集此資訊。

頁面檢視結構描述

Page view (頁面檢視) 事件包含下列屬性。您可以透過設定 Web 用戶端來停用頁面檢視集合。如需詳細資訊,請參閱 CloudWatch RUMWeb 用戶端文件

名稱 Type 描述

頁面 ID

字串

在應用程式中唯一代表此頁面的 ID。依預設,這是路URL徑。

父頁面 ID

字串

當使用者導覽至當前頁面時,使用者所在頁面的 ID。只有在應用程式監控已啟用 Cookie 時,才會收集此資訊。

互動深度

字串

只有在應用程式監控已啟用 Cookie 時,才會收集此資訊。

JavaScript 錯誤綱要

JavaScript 代理程式產生的錯誤事件包含下列屬性。只有在您選取收集錯誤遙測時,Web 用戶端才會收集這些事件。

名稱 Type 描述

錯誤類型

字串

錯誤名稱 (如果存在)。如需詳細資訊,請參閱 Error.prototype.name

某些瀏覽器可能不支援錯誤類型。

錯誤訊息

字串

錯誤的訊息。如需詳細資訊,請參閱 Error.prototype.message。如果錯誤欄位不存在,則這就是錯誤事件的訊息。如需詳細資訊,請參閱ErrorEvent

在不同的瀏覽器中,錯誤消息可能不一致。

堆疊追蹤

字串

錯誤的堆疊追蹤 (如果存在) 會截斷為 150 個字元。如需詳細資訊,請參閱 Error.prototype.stack

某些瀏覽器可能不支援堆疊追蹤。

DOM事件模式

由代理程式產生的文件物件模型 (DOM) 事件包含下列屬性。這些事件預設為無法收集。只有在您啟用互動遙測時,才會收集這些事件。如需詳細資訊,請參閱 CloudWatch RUMWeb 用戶端文件

名稱 Type 描述

事件

字串

DOM事件的類型,例如按一下、捲動或暫留。如需詳細資訊,請參閱事件參考

Element

字串

元DOM素類型

元素 ID

字串

如果產生事件的元素具有 ID,則此屬性會存放該 ID。如需詳細資訊,請參閱 Element.id

CSSLocator

字串

用於識別DOM圖元的CSS儲位器。

InteractionId

字串

使用者與 UI 間之互動的唯一 ID。

導覽事件結構描述

只有在應用程式監控啟用效能遙測時,才會收集導覽事件。

導航事件使用導航計時級別 1導航計時級別 2 APIs。並非所有瀏覽器APIs都支援層級 2,因此這些較新的欄位是選擇性的。

注意

時間戳記量度是根據DOMHighResTimestamp。在「層級 2」中APIs,依預設,所有時間都是相對於startTime. 但對於層級 1,系統會從時間戳記指標減去 navigationStart 指標,以取得相對值。所有時間戳記值都以毫秒為單位。

導覽事件包含下列屬性。

名稱 Type 描述 備註

initiatorType

字串

表示起始效能事件的資源類型。

值:"navigation"

層級 1:"navigation"

等級 2:entryData. initiatorType

navigationType

字串

表示導覽的類型。

此屬性不是必要項目。

值:值必須是下列其中一個:

  • navigate是透過選擇連結、在瀏覽器的網址列URL中輸入、表單提交或透過或以外reload的指令碼作業初始化來啟動的導覽。back_forward

  • reload 是透過瀏覽器重新加載操作或 location.reload() 的導覽。

  • back_forward 是透過瀏覽器歷史記錄周遊操作的導覽。

  • prerender 是由預先轉譯器提示起始的導覽。如需詳細資訊,請參閱預先轉譯器

startTime

Number

指示事件觸發的時間。

值:0

等級 1:entryData. navigationStart -entryData navigationStart

等級 2:entryData. startTime

unloadEventStart

Number

指示視窗中的上一個文件在擲出 unload 事件後開始卸載的時間。

值:如果沒有上一個文件,或者如果上一個文件或其中一個所需的重新引導不是相同的原點,則傳回的值為 0。

層級 1:

entryData.unloadEventStart > 0 ? entryData.unloadEventStart - entryData.navigationStart : 0

等級 2:entryData. unloadEventStart

promptForUnload

Number

卸載文件所花費的時間。換言之,unloadEventStartunloadEventEnd 之間的時間。UnloadEventEnd 表示卸載事件處理程式完成時的時刻,以毫秒為單位。

值:如果沒有上一個文件,或者如果上一個文件或其中一個所需的重新引導不是相同的原點,則傳回的值為 0。

等級 1:entryData. unloadEventEnd -entryData unloadEventStart

等級 2:entryData. unloadEventEnd -entryData unloadEventStart

redirectCount

Number

代表目前瀏覽環境下最後一次非重新引導導覽之後重新引導數量的數字。

此屬性不是必要項目。

值:如果沒有重新引導,或者有任何重新引導與目的地文件的原點不相同,則傳回的值為 0。

層級 1:不可用

等級 2:entryData. redirectCount

redirectStart

Number

第一次HTTP重新導向開始的時間。

值:如果沒有重新引導,或者有任何重新引導與目的地文件的原點不相同,則傳回的值為 0。

層級 1:

entryData.redirectStart > 0 ? entryData.redirectStart - entryData.navigationStart : 0

等級 2:entryData. redirectStart

redirectTime

Number

HTTP重新導向所花費的時間。這是 redirectStartredirectEnd 之間的差異。

等級 1:: entryData。 redirectEnd -entryData redirectStart

等級 2:: entryData。 redirectEnd -entryData redirectStart

workerStart

Number

這是 PerformanceResourceTiming 介面的屬性。它標誌著工作者執行緒操作的開始。

此屬性不是必要項目。

值:如果服務工作者執行緒已經在執行中,或立即在啟動服務工作者執行緒之前執行,則此屬性會在分派 FetchEvent 前立即傳回時間。如果服務工作者未攔截資源,則傳回 0。

層級 1:不可用

等級 2:entryData. workerStart

workerTime

Number

如果服務工作者未攔截資源,則這樣會傳回工作者執行緒操作所需的時間。

此屬性不是必要項目。

層級 1:不可用

層級 2:

entryData.workerStart > 0 ? entryData.fetchStart - entryData.workerStart : 0

fetchStart

Number

瀏覽器準備使用HTTP請求獲取文檔的時間。這是在檢查任何應用程式快取之前。

層級 1:

: entryData.fetchStart > 0 ? entryData.fetchStart - entryData.navigationStart : 0

等級 2:entryData. fetchStart

domainLookupStart

Number

開始網域查詢的時間。

值:如果使用永久連線,或者如果資訊存放在快取或本機資源中,該值會與 fetchStart 相同。

層級 1:

entryData.domainLookupStart > 0 ? entryData.domainLookupStart - entryData.navigationStart : 0

等級 2:entryData. domainLookupStart

dns

Number

網域查詢所需的時間。

值:如果資源和DNS記錄被緩存,預期值為 0。

等級 1:entryData. domainLookupEnd -entryData domainLookupStart

等級 2:entryData. domainLookupEnd -entryData domainLookupStart

nextHopProtocol

字串

代表用於擷取資源之網路通訊協定的字串。

此屬性不是必要項目。

層級 1:不可用

等級 2:entryData. nextHopProtocol

connectStart

Number

使用者代理程式立即開始建立與伺服器的連線以擷取文件之前的時間。

值:如果使用RFC2616持續連線,或者從相關應用程式快取或本機資源擷取目前的文件,則此屬性會傳回的值domainLookupEnd

層級 1:

entryData.connectStart > 0 ? entryData.connectStart - entryData.navigationStart : 0

等級 2:entryData. connectStart

connect

Number

測量建立傳輸連線或執行SSL驗證所需的時間。它還包括當瀏覽器發出太多並行請求時所花費的阻塞時間。

等級 1:entryData. connectEnd -entryData connectStart

等級 2:entryData. connectEnd -entryData connectStart

secureConnectionStart

Number

如果當前頁面的URL方案是「https」,則此屬性返回用戶代理開始握手過程以保護當前連接之前的時間。如果HTTPS不使用它返回 0。如需有關URL配置的詳細資訊,請參閱URL表示

配方:entryData. secureConnectionStart

tlsTime

Number

完成SSL握手所需的時間。

層級 1:

entryData.secureConnectionStart > 0 ? entryData.connectEnd - entryData.secureConnectionStart : 0

層級 2:

entryData.secureConnectionStart > 0 ? entryData.connectEnd - entryData.secureConnectionStart : 0

requestStart

Number

使用者代理程式立即開始從伺服器或從相關應用程式快取或從本機資源請求資源之前的時間。

層級 1:

: entryData.requestStart > 0 ? entryData.requestStart - entryData.navigationStart : 0

等級 2:entryData. requestStart

timeToFirst位元組

Number

提出請求後,接收資訊之第一個位元組所花費的時間。此時間與 startTime 相關。

等級 1:entryData. responseStart -entryData requestStart

等級 2:entryData. responseStart -entryData requestStart

responseStart

Number

使用者代理程式HTTP剖析器從相關應用程式快取、本機資源或伺服器收到回應第一個位元組之後的時間。

層級 1:

entryData.responseStart > 0 ? entryData.responseStart - entryData.navigationStart : 0

等級 2:entryData. responseStart

responseTime

字串

從相關應用程式快取、從本機資源或從伺服器以位元組形式接收完整回應所花費的時間。

層級 1:

entryData.responseStart > 0 ? entryData.responseEnd - entryData.responseStart : 0

層級 2:

entryData.responseStart > 0 ? entryData.responseEnd - entryData.responseStart : 0

domInteractive

Number

剖析器在主文件上完成其工作,並建構的HTMLDOM時間。這時,其 Document.readyState 變更為「交互式」並擲出相應的 readystatechange 事件。

層級 1:

entryData.domInteractive > 0 ? entryData.domInteractive - entryData.navigationStart : 0

等級 2:entryData. domInteractive

domContentLoadedEventStart

Number

表示等於使用者代理程式在目前文件中觸發DOMContentLoaded事件之前的時間值。當初始HTML文檔已完全heDOMContent加載和解析時觸發 T Load 事件。此時,主HTML文檔已經完成解析,瀏覽器開始構建渲染樹,並且仍然需要加載子資源。這不會等待樣式表、映像和子框架完成載入。

層級 1:

entryData.domContentLoadedEventStart > 0 ? entryData.domContentLoadedEventStart - entryData.navigationStart : 0

等級 2:entryData. domContentLoadedEventStart

domContentLoaded

Number

轉譯樹狀結構的開始時間和結束時間會由 domContentLoadedEventStartdomContentLoadedEventEnd 標記。它可以 CloudWatch RUM跟踪執行。此屬性是 domContentLoadedStartdomContentLoadedEnd 之間的差異。

在此期間,DOM並準CSSOM備好了。此屬性會等待指令碼執行,但非同步指令碼和動態建立的指令碼除外。如果指令碼依賴於樣式表,domContentLoaded 也會在樣式表上等待。它不會等待映像。

注意

domContentLoadedStartdomContentLoadedEnd 的實際值近似於 Google Chrome 網路面板中的 domContentLoaded。它表示從頁面加載過程的開始 HTML DOM + CSSOM 渲染樹建設時間。對於導覽指標,domContentLoaded 值表示開始和結束值之間的差異,這是僅下載子資源和轉譯樹狀結構構造所需的時間。

等級 2:entryData. domContentLoadedEventEnd -entryData domContentLoadedEventStart

等級 2:entryData. domContentLoadedEventEnd -entryData domContentLoadedEventStart

domComplete

Number

瀏覽器立即將當前文件的當前文件整備程度設定為完成之前的時間。此時,子資源 (例如映像) 的載入已完成。這包括下載阻止內容(例如CSS和同步)所花費的時間 JavaScript。這近似於 Google Chrome 網路面板中的 loadTime

層級 1:

entryData.domComplete > 0 ? entryData.domComplete - entryData.navigationStart : 0

等級 2:entryData. domComplete

domProcessingTime

Number

回應與載入事件開始之間的總時間。

等級 1:entryData. loadEventStart -entryData responseEnd

等級 2:entryData. loadEventStart -entryData responseEnd

loadEventStart

Number

立即觸發當前文件之 load 事件的時間。

層級 1:

entryData.loadEventStart > 0 ? entryData.loadEventStart - entryData.navigationStart : 0

等級 2:entryData. loadEventStart

loadEventTime

Number

loadEventStartloadEventEnd 之間的差異。系統會在此期間觸發等待此載入事件的其他函數或邏輯。

等級 1:entryData. loadEventEnd -entryData loadEventStart

等級 2:entryData. loadEventEnd -entryData loadEventStart

duration

字串

持續時間是頁面總載入時間。它會記錄下載主要頁面及其所有同步子資源的時間,以及轉譯頁面的時間。非同步資源 (例如指令碼) 會在稍後繼續下載。這是 loadEventEndstartTime 屬性之間的差異。

等級 1:entryData. loadEventEnd -entryData navigationStart

等級 2:entryData. 持續時間

headerSize

Number

傳回 transferSizeencodedBodySize 之間的差異。

此屬性不是必要項目。

層級 1:不可用

等級 2:entryData. transferSize -entryData encodedBodySize

等級 2:entryData. transferSize -entryData encodedBodySize

compressionRatio

Number

encodedBodySizedecodedBodySize 的比率。的值encodedBodySize是資源 (不包括HTTP標頭) 的壓縮大小。的值decodedBodySize是資源 (不包括HTTP標頭) 的解壓縮大小。

此屬性不是必要項目。

層級 1:不可用。

層級 2:

entryData.encodedBodySize > 0 ? entryData.decodedBodySize / entryData.encodedBodySize : 0

navigationTimingLevel

Number

導航計時API版本。

值:1 或 2

資源事件結構描述

只有在應用程式監控啟用效能遙測時,才會收集資源事件。

時間戳記度量是以 DOMHighResTimeStamp typedef 為基礎。在「層級 2」中APIs,依預設,所有時間都是相對於startTime. 但是對於「層級 1」APIs,會從時間戳記度量中減去量度,以取得相對navigationStart值。所有時間戳記值都以毫秒為單位。

代理程式產生的資源事件包含下列屬性。

名稱 Type 描述 備註

targetUrl

字串

返回資源的URL。

公式:entryData

initiatorType

字串

表示起始效能資源事件的資源類型。

值:"resource"

配方:entryData. initiatorType

duration

字串

傳回 responseEndstartTime 屬性之間的差異。

此屬性不是必要項目。

公式:entryData. 持續時間

transferSize

Number

傳回擷取資源的大小 (以八位元為單位),包括回應標頭欄位和回應酬載主體。

此屬性不是必要項目。

配方:entryData. transferSize

fileType

字串

衍生自目標URL模式的副檔名。

最大的有內容繪製事件結構描述

最大的有內容繪製事件包含下列屬性。

只有在應用程式監控啟用效能遙測時,才會收集這些事件。

名稱 描述

Value

如需詳細資訊,請參閱 Web 關鍵數值

第一個輸入延遲事件

第一個輸入延遲事件包含下列屬性。

只有在應用程式監控啟用效能遙測時,才會收集這些事件。

名稱 描述

Value

如需詳細資訊,請參閱 Web 關鍵數值

累計版面配置移位事件

累計版面配置移位事件包含下列屬性。

只有在應用程式監控啟用效能遙測時,才會收集這些事件。

名稱 描述

Value

如需詳細資訊,請參閱 Web 關鍵數值

HTTP事件

HTTP事件可以包含下列屬性。它將包含 Response 欄位或 Error 欄位,但不能同時包含。

只有在應用程式監視器已啟用HTTP遙測時,才會收集這些事件。

名稱 描述

請求

請求欄位包含下列項目:

  • Method欄位,其中可以有值 GETPOST,例如、等。

  • URL

回應

回應欄位包含下列項目:

  • 狀態,例如 2xx、4xx 或 5xx

  • 狀態文字

錯誤

錯誤欄位包含下列項目:

  • Type

  • 訊息

  • 檔案名稱

  • 行號

  • 欄號

  • 堆疊追蹤

X-Ray 追蹤事件結構描述

只有在應用程式監控啟用 X-Ray 追蹤時,才會收集這些事件。

如需 X-Ray 追蹤事件結構描述的詳細資訊,請參閱 AWS X-Ray 區段文件