全部產品
Search
文件中心

Application Real-Time Monitoring Service:前端監控常見問題

更新時間:Jul 06, 2024

本文解答了關於前端監控的常見問題。

計費相關

使用相關

為什麼有些監控頁面或API名稱中出現了星號(*)?

ARMS前端監控的頁面統計是以實際開啟的頁面URL為基礎,對各個維度進行統計。監控頁面或API名稱中的星號(*)並不是真實頁面URL的一部分,而是表示這是經過URL收斂後的結果。換言之,它表示這不是一個具體的URL,而是一些相似URL的集合。

Satisfaction Trend

URL收斂演算法說明

  • 問題:“變數”會導致同類URL發散成多個,因而難以監控和分析。

  • 目標:合并同類URL,用星號(*)代替不斷變化的“變數”。

  • 方案:採用我們自研的URL收斂演算法,在儘可能保留語義資訊的前提下,合并同類URL,減少URL總數。主要分為以下兩步。

    • 聚類:將相似URL歸納為一組。

    • “變數”識別:提取同組URL中不斷變化的“變數”,並以星號(*)代替。

收斂過程如下圖所示。

Convergence Process

解決方案

關閉URL收斂的具體操作,請參考urlHelper

[回到頂部]

為什麼頁面訪問量列表和頁面訪問速度列表不一致?

這是因為您的應用是SPA( Single-Page Application,單頁面應用),且開啟了SPA自動解析。在SPA的應用情境下,頁面訪問量和頁面訪問速度的統計方法如下。

  • 頁面訪問量:觸發hashchange事件後會自動上報PV,以統計該Hash值對應頁面的PV情況。所以在查看SPA應用的頁面訪問量列表時,可以查看對應的Hash頁面的具體PV。

  • 頁面訪問速度:因為SPA應用程式切換Hash值後,頁面的訪問速度不會變化,所以訪問速度的統計不以Hash值為維度,這樣不僅可以減少不必要的上報量,而且還可以清晰瞭解頁面的效能情況。

[回到頂部]

為什麼API日誌中沒有產生TraceId,導致無法跳轉至對應的應用監控?

  1. 登入ARMS控制台
  2. 在左側導覽列選擇前端監控 > 前端列表,然後單擊目標應用程式名稱。

  3. 在左側導覽列中選擇設定 > 應用設定

  4. 請在接入步驟頁簽檢查您的ARMS探針配置項是否選中與應用監控關聯。若未選中,請選中後,再重新將ARMS探針接入前端應用。

    tab_retcode_settings_precondition

    檢查API日誌中是否產生TraceId。若仍未產生TraceId,則執行步驟5

  5. 檢查您的頁面請求和API請求的網域名稱是否一致。為防止因跨網域名稱驗證導致API請求失敗,因此若存在跨網域名稱訪問的情況,則不能正常產生TraceId。

    解決方案,請參考API與當前應用網域名稱非同源

[回到頂部]

為什麼在診斷JS錯誤時,會顯示Source Map檔案錯誤?

  1. 請確保檔案尾碼名為.js.map

  2. 請確保帳號有ARMS的寫入許可權,如果帳號沒有許可權,請聯絡帳號管理員。

[回到頂部]

使用者控制台的設定和setConfig的關係是什嗎?

控制台的設定僅可以協助您快速產生相應的配置代碼,產生的程式碼僅在發布後生效,而修改setConfig是直接生效的。

ARMS控制台產生代碼

此外,控制台的設定只能在接入時使用,接入完成後,您需要通過setConfig來修改配置。

[回到頂部]

SDK中應該如何配置環境和版本號碼?

您可以通過配置release參數來區分版本號碼,更多資訊,請參見release。您也可以通過配置environment來區分不同環境,更多資訊,請參見environment

  • prod表示線上環境。

  • gray表示灰階環境。

  • pre表示預發環境。

  • daily表示日常環境。

  • local表示本地環境。

[回到頂部]

如何查看配置的版本號碼?

  1. 登入ARMS控制台
  2. 在左側導覽列選擇前端監控 > 前端列表,然後單擊目標應用程式名稱。

  3. 在左側導覽列中選擇應用 > 訪問明細

    日誌的版本號碼顯示在日誌列表地區的版本號碼列內。查看版本號碼

  4. 您也可以在功能表列內按照環境和版本篩選日誌。只有在PV日誌設定完成版本號碼後,才可以使用按照版本號碼篩選日誌功能。按照環境和版本篩選日誌

[回到頂部]

如何查看使用者的頁面停留時間?

  1. 登入ARMS控制台
  2. 在左側導覽列選擇前端監控 > 前端列表,然後單擊目標應用程式名稱。

  3. 在左側導覽列選擇應用 > 會話追蹤

  4. 在會話列表中單擊目標會話的會話ID,查看會話追蹤詳情頁面。

  5. 將游標放置在訪問時間軸列內的時間軸地區上,即可查看頁面停留時間。

[回到頂部]

如何查看ARMS的前端自訂效能指標?

  1. 登入ARMS控制台
  2. 在左側導覽列選擇前端監控 > 前端列表,然後單擊目標應用程式名稱。

  3. 在左側導覽列中選擇應用 > 訪問速度

  4. 自訂效能指標展示在頁面訪問速度排行地區中。

[回到頂部]

ARMS配置未生效怎麼處理?

原因可能是瀏覽器緩衝未更新。您可以先在導覽列內選擇訪問明細後,切換版本號碼為最新配置的版本號碼並查看趨勢圖。如果未配置版本號碼,可以在SDK中配置release參數,請參見release。發布完成後,請觀察最新版本是否符合預期。

[回到頂部]

為什麼小程式JS Error沒有上報?

小程式JS Error沒有上報可能是因為在async方法下,資訊被小程式底層的try catch捕獲,導致錯誤資訊上傳失敗。您可以嘗試手動上報錯誤資訊,請參見前端介面說明

[回到頂部]

可以監聽console.error的JS Error嗎?

  • 在瀏覽器中,針對滿足JS Error格式的錯誤資訊,瀏覽器會靜默上報。

  • 在小程式端,您可嘗試手動上報錯誤資訊,請參見前端介面說明

[回到頂部]

在Weex環境中,小程式設定的UID為什麼沒生效?

  • 如果未調用setConfig方法,請檢查初始化配置時是否配置UID,如果缺失請補全。

  • 如果調用了setConfig方法,請在setConfig中重新設定UID。

[回到頂部]

日誌的儲存時效是多長?

  • 基礎版的日誌的儲存時效為7天。

  • 專家版的日誌的儲存時效為30天。

[回到頂部]

試用期建立的網站可以在開通專家版之後繼續使用嗎?

  • 在試用期到期之後的15天內,網站將因為欠費被停用,您可以嘗試重新啟動應用。

  • 在試用期到期之後的15天后,出於節約計算資源和儲存資源的考慮,超出試用時間未開通專業版的網站將被刪除,相關的資源也會釋放,這部分資料是無法找回的。

[回到頂部]

ARMS應用版本和宿主要版本分別是什嗎?

  • 應用版本是當前線上專案的版本號碼,可以通過配置SDK的release欄位來配置,請參見release

  • 宿主要版本是SDK自動擷取的,是當前專案所依附的App的版本號碼,目前因為沒有對應宿主App版本的解析方案,只能解析到淘寶、支付寶或微信。

[回到頂部]

為什麼控制台中不同模組的同一個頁面的訪問量差別大?

訪問速度頁面中:訪問量=效能日誌*Sample

維度頁面中:訪問量=PV日誌

靜默上報的效能日誌只有在頁面Onload之後才上報一次,即每次重新整理頁面,只會有一次效能日誌上報。

開啟單頁應用模式後,每次切換路由都會有PV日誌上報,即單頁應用中,效能日誌在量級上遠遠小於PV日誌,導致對應的訪問量差異大。

[回到頂部]

為什麼duration會小於connect download?

ARMS資源載入的效能資料是從performance.getEntriesByType('resource')中擷取的,當擷取頁面資源時間詳情有跨域限制時,預設情況下,跨域資源的效能資料中以下欄位從performance.getEntriesByType('resource')中擷取的值為0。

redirectStart
redirectEnd
domainLookupStart
domainLookupEnd
connectStart
connectEnd
secureConnectionStart
requestStart
responseStart

部分時間屬性由於計算方式中涉及以上欄位,導致不準或者異常,例如:connect download:responseEnd - responseStart,由於responseStart的時間戳記是0,導致connect download大於duration。

  • 對於您自用的CDN資源,設定回應標頭Timing-Allow-Origin允許擷取資源時間,可以解決上述問題。

  • 對於第三方資源,建議此時以duration的值為主參考。

[回到頂部]

如果調用__bl.performance()方法時不確定SDK是否已載入完成怎麼辦?

請參見SPA頁面上報

[回到頂部]