全部產品
Search
文件中心

Application Real-Time Monitoring Service:統計指標說明

更新時間:Jul 06, 2024

本文說明ARMS前端監控各頁面的關鍵統計指標含義以及日誌欄位的含義。

滿意度

效能指數APDEX(全稱Application Performance Index)是一個國際通用的應用效能計算標準。該標準將使用者對應用的體驗定義為三個等級:

  • 滿意(0~T)

  • 可容忍(T~4T)

  • 不滿意(大於4T)

計算公式為:

Apdex=(滿意數+可容忍數/2)/總樣本量

ARMS取頁面首次渲染時間(First Paint Time)作為計算指標,預設定義T為2秒。

JS穩定性

JS穩定性在ARMS中是指頁面的JS錯誤率。

在一個PV周期內,如果發生過錯誤(JS Error),則此PV周期為錯誤樣本。

錯誤率=錯誤樣本量/總樣本量

頁面異常除了自動上報的JS Error外,也包括手動調用前端介面說明上報的錯誤。

訪問速度

在ARMS中,訪問速度是指頁面的首次渲染時間

在效能測速統計中,所有資料都是根據W3C規範中定義的Navigation Timing API計算出來的。

表 1. Web端關鍵效能指標

上報欄位

描述

計算公式

備忘

FMP(First Meaningful Paint)

首屏時間

參見FMP技術實現方案

FPT(First Paint Time)

首次渲染時間(白屏時間)

responseEnd - fetchStart

從請求開始到瀏覽器開始解析第一批HTML文檔位元組的時間差。

TTI(Time to Interact)

首次可互動時間

domInteractive - fetchStart

瀏覽器完成所有HTML解析並且完成DOM構建,此時瀏覽器開始載入資源。

Ready

HTML載入完成時間, 即DOM Ready時間。

domContentLoadEventEnd - fetchStart

如果頁面有同步執行的JS,則同步JS執行時間=Ready-TTI。

Load

頁面完全載入時間

loadEventStart - fetchStart

Load=首次渲染時間+DOM解析耗時+同步JS執行+資源載入耗時。

FirstByte

首包時間

responseStart - domainLookupStart

第一包接收的時間。

表 2. 區間段耗時欄位含義

上報欄位

描述

計算公式

備忘

DNS

DNS查詢耗時

domainLookupEnd - domainLookupStart

TCP

TCP串連耗時

connectEnd - connectStart

TTFB(Time to First Byte)

請求響應耗時

responseStart - requestStart

TTFB有多種計算方式,ARMS採用的標準,請參見Google Development定義

Trans

內容傳輸耗時

responseEnd - responseStart

DOM

DOM解析耗時

domInteractive - responseEnd

Res

資源載入耗時

loadEventStart - domContentLoadedEventEnd

表示頁面中的同步載入資源。

SSL

SSL安全連線耗時

connectEnd - secureConnectionStart

只在HTTPS下有效。

表 3. 小程式關鍵效能指標

上報欄位

描述

計算方式

備忘

FPT(First Paint Time)

首次渲染時間

onShow (first page) - onLaunch (app)

小程式從onLaunch到第一個頁面onShow之間的時間。

API成功率

API成功率=介面調用成功的樣本量/總樣本量

統計API成功率的樣本除了自動上報的AJAX請求,還包括手動調用前端介面說明上報的資料。

日誌欄位

下列表格說明了日誌中的欄位含義。

表 4. 通用欄位

欄位

含義

uid

使用者ID,用於標識訪問使用者,可手動設定,用於根據使用者ID檢索。如果不配置,則由SDK自動產生且每半年更新一次。

username

使用者名稱稱,需要通過SDK主動上報,否則內容為空白。

release

應用版本號碼

environment

生產環境

page

頁面

sampling

採樣率

tag

使用者自訂Tag

表 5. API

欄位

含義

api

API請求地址,不帶參數。

msg

responseText:字串形式的響應資料。

code

狀態代碼

time

API耗時

success

API成功與否

表 6. JS錯誤

欄位

含義

msg

報錯內容

stack

錯誤堆棧

cate

錯誤類型:

  • EvalError:與eval()有關的錯誤。

  • RangeError:數值變數或參數超出其有效範圍。

  • ReferenceError :無效引用。

  • SyntaxError:語法錯誤。

  • TypeError:變數或參數不屬於有效類型。

  • URIError:給encodeURI()decodeURI()傳遞的參數無效。

  • AggregateError:其中包含了由一個操作產生且需要報告的多個錯誤。如:Promise.any()產生的錯誤。

  • 自訂錯誤類型。

file

出錯檔案

line

出錯行

col

出錯列

times

出錯次數

日誌說明

表 7. 多維分析

日誌類型

Type

查詢欄位

(通用指標欄位:所有日誌皆可查詢過濾)

PV日誌

PV

在頁面Onload的時候上傳,用於計算PV和UV。

PV、UV計算方式:

  • PV:PV日誌的條數。

  • UV:對於PV日誌,按照UID去重。

效能日誌

Perf

效能指標

慢載入日誌

(>8s的效能日誌)

RES

效能指標

JS錯誤記錄檔

Error

  • JS錯誤訊息

  • JS檔案URL

  • JS錯誤類型

API日誌

API

  • API名稱

  • API訊息

  • HTTP狀態代碼

  • API耗時

  • 網域名稱

  • API是否報錯

  • TraceID

SUM日誌

SUM

自訂Key:事件名(如scroll-count)

AVG日誌

AVG

自訂Key:事件名(如scroll-time)

資源錯誤記錄檔

ResourceError

資源錯誤SRC

Custom

說明
  • Custom是主動上報類型,一般用於自訂的業務監控需求,只有主動上報(調用ARMS探針的API)才有,預設情況下不會主動採集資料。

  • Custom上報資料不會在控制台上展示,您可以基於SLS日誌資料自行分析。