ARMS前端監控的JS錯誤診斷功能可展示JS錯誤的基本信息和分布情況,以及回溯用戶行為,幫助您快速定位錯誤位置。
功能入口
- 登錄ARMS控制臺,在左側導航欄選擇 。
- 在前端列表頁面頂部選擇目標地域,然后單擊目標應用名稱。
- 在左側導航欄選擇
在JS錯誤診斷頁面右上角,可以設置需要查看的時間段。
。
查看應用的錯誤總覽
錯誤總覽區域可展示選定時間段內的JS錯誤基本統計信息和趨勢,包括以下指標:
- 錯誤數:選定時間段內的JS錯誤總數。
- JS錯誤率:選定時間段內發生過錯誤的PV占總PV的比例。
- 影響用戶數:JS錯誤影響到的用戶數量和比例。
在錯誤總覽區域可執行以下操作:
- 將鼠標懸浮于曲線上,曲線拐點所對應時間點的錯誤數、錯誤率、影響用戶數將顯示在浮層中。
- 將鼠標懸浮于曲線拐點上,當鼠標顯示為手形指針時單擊拐點,可打開該時間點的異常洞察對話框。更多信息,請參見查看異常洞察。
- 在曲線圖區域內按住鼠標左鍵并拖動鼠標來框選其中一段,即可放大查看該段曲線。單擊右上角的重置縮放即可還原視圖。
查看異常洞察
異常洞察對話框可顯示具體時間點的JS錯誤情況,包括以下指標:
- 錯誤數:對應時間點的JS錯誤總數。
- JS錯誤率:對應時間點發生過錯誤的PV占總PV的比例。
- 影響用戶數:JS錯誤影響到的用戶數量和比例。
- 高頻錯誤Top 5:對應時間點出現次數最多的前5種JS錯誤,包括ARMS捕捉到的JS錯誤內容、錯誤出現次數和影響用戶數。
- 頁面錯誤率Top 5:對應時間點JS錯誤率最高的前5個頁面,包括出現過JS錯誤的頁面名稱、頁面的JS錯誤率和頁面訪問量。
在異常洞察對話框可執行以下操作:
- 單擊高頻錯誤Top 5頁簽,然后單擊操作列中的診斷,進入錯誤詳情頁面。更多信息,請參見查看錯誤詳情。
- 單擊頁面錯誤率Top 5頁簽,然后單擊目標頁面操作列中的分析,可查看該頁面的錯誤總覽視圖。
查看頁面錯誤率排行
頁面錯誤率排行頁簽可按JS錯誤率從高到低的順序展示選定時間段內出現JS錯誤的頁面,包括以下指標:
- 頁面:出現過JS錯誤的頁面。
- 錯誤率:選定時間段內在該頁面發生過錯誤的PV占總PV的比例。
- 訪問量:頁面的訪問量。
單擊操作列中的分析,可查看該頁面的錯誤總覽視圖。
查看高頻錯誤
高頻錯誤頁簽可按出現次數從多到少的順序展示選定時間段內的JS錯誤,包括以下指標:
- 錯誤信息:ARMS捕捉到的JS錯誤內容。
- 頁面:JS錯誤出現的頁面。
- 錯誤數:JS錯誤出現的次數。
- 影響用戶數:JS錯誤影響到的用戶數量和比例。
單擊操作列中的診斷,進入錯誤詳情頁簽。更多信息,請參見查看錯誤詳情。
查看錯誤詳情
錯誤詳情頁簽可展示以下信息:
- 概要信息
- 名稱
- 類型
- 時間(JS錯誤的發現時間)
- 設備
- 操作系統
- 瀏覽器
- IP
- 網絡制式
- 地區
- 行
- 列
- URL
- 文件(出現JS錯誤的文件路徑)
- 應用版本號
- 堆棧信息:與JS錯誤出現位置有關的信息。
- 用戶行為回溯:回溯的用戶行為信息,用于還原報錯現場。
在錯誤詳情頁簽上可執行以下操作:
如需確定JS錯誤的準確出錯位置,請在堆棧信息區域單擊一條堆棧信息左側的三角形圖標展開該行,單擊選擇Source Map,然后在Source Map文件對話框中選擇現有的Source Map文件或上傳新的Source Map文件,最后單擊確定。
ARMS將利用Source Map文件還原準確的JS錯誤位置。
- 如需查看用戶行為軌跡,請查看回溯用戶行為區域。
如需查看該錯誤的分布情況,請單擊錯誤分布頁簽。
回溯用戶行為
錯誤詳情頁簽上的用戶行為回溯區域展示用戶的行為軌跡,輔助還原報錯現場。
查看錯誤分布
JS錯誤診斷頁面的錯誤分布頁簽可展示具體JS錯誤的分布情況,統計維度包括:
- 時間分布:僅頁面層面的錯誤分布支持。
- 瀏覽器分布
- 操作系統分布
- 設備分布
- 版本分布
- 地理分布:在中國維度下按省、直轄市、自治區統計,在世界維度下按國家/地區統計。
在錯誤分布頁簽上可執行以下操作:
- 在時間分布區域,將鼠標懸浮于分布圖上,可以展示具體的錯誤數。
在瀏覽器分布、操作系統分布、設備分布和版本分布區域,將鼠標懸浮于分布圖上,可以展示具體的錯誤數和占比情況。
- 在地理分布區域的中國或世界頁簽上,單擊右側表格中的錯誤數箭頭,可切換表格的排序順序(從正序切換為倒序,或從倒序切換為正序)。
常見問題
- 如何開啟或關閉用戶行為回溯功能?
該功能默認開啟。如需關閉,請在config配置中添加SDK配置項behavior: false。SDK配置項的詳細信息,請參見SDK參考。
- 開啟用戶行為回溯后,調試過程中通過console.log打印出的信息會定位到ARMS的SDK代碼bl.js中,而不是源代碼中的位置,如何解決?
造成這種現象的原因是ARMS通過重寫console對象的log等方法來監控瀏覽器控制臺打印的內容。解決方法為:
- 方法一(推薦):設置Chrome瀏覽器的黑盒(Blackboxing)。
- 打開Chrome瀏覽器,按Ctrl+Shift+I打開開發者工具面板,然后單擊設置圖標。
- 在Settings面板左側單擊Blackboxing,單擊Add pattern,在Pattern文本框中輸入/bl.*\.js$,并單擊Add。
- 方法二:使用SDK配置項behavior: false關閉用戶行為回溯。
<script> ! (function ( c , b, d, a ) { c [a] || ( c[a] = {}); c [a].config = { pid: "xxxxx", imgUrl: "https://arms-retcode.aliyuncs.com/r.png?", sendResource: true, enableLinkTrace: true, behavior: false }; with(b) with(body) with(insertBefore(createElement("script"), firstChild)) setAttribute("crossorigin", "", src = d) })(window, document, "https://retcode.alicdn.com/retcode/bl.js", "__bl"); </script>
按照上述方法處理后,console.log打印出的信息即可定位到源代碼中的位置。
- 方法一(推薦):設置Chrome瀏覽器的黑盒(Blackboxing)。