ARMS前端監控的JS錯誤診斷功能可展示JS錯誤的基本信息和分布情況,以及回溯用戶行為,幫助您快速定位錯誤位置。

功能入口

  1. 登錄ARMS控制臺,在左側導航欄選擇前端監控 > 前端列表
  2. 前端列表頁面頂部選擇目標地域,然后單擊目標應用名稱。
  3. 在左側導航欄選擇應用 > JS錯誤診斷

    JS錯誤診斷頁面右上角,可以設置需要查看的時間段。

查看應用的錯誤總覽

錯誤總覽區域可展示選定時間段內的JS錯誤基本統計信息和趨勢,包括以下指標:

  • 錯誤數:選定時間段內的JS錯誤總數。
  • JS錯誤率:選定時間段內發生過錯誤的PV占總PV的比例。
  • 影響用戶數:JS錯誤影響到的用戶數量和比例。
圖 1. 應用的錯誤總覽
應用層面的錯誤總覽

錯誤總覽區域可執行以下操作:

  • 將鼠標懸浮于曲線上,曲線拐點所對應時間點的錯誤數、錯誤率、影響用戶數將顯示在浮層中。
  • 將鼠標懸浮于曲線拐點上,當鼠標顯示為手形指針時單擊拐點,可打開該時間點的異常洞察對話框。更多信息,請參見查看異常洞察
  • 在曲線圖區域內按住鼠標左鍵并拖動鼠標來框選其中一段,即可放大查看該段曲線。單擊右上角的重置縮放即可還原視圖。
說明JS錯誤診斷頁面上,默認情況下錯誤總覽區域顯示的是應用層面的總覽信息。在頁面錯誤率排行區域或異常洞察對話框中頁面錯誤率Top 5頁簽單擊分析后,展示的是對應頁面的總覽信息。

查看異常洞察

異常洞察對話框可顯示具體時間點的JS錯誤情況,包括以下指標:

  • 錯誤數:對應時間點的JS錯誤總數。
  • JS錯誤率:對應時間點發生過錯誤的PV占總PV的比例。
  • 影響用戶數:JS錯誤影響到的用戶數量和比例。
  • 高頻錯誤Top 5:對應時間點出現次數最多的前5JS錯誤,包括ARMS捕捉到的JS錯誤內容、錯誤出現次數和影響用戶數。
  • 頁面錯誤率Top 5:對應時間點JS錯誤率最高的前5個頁面,包括出現過JS錯誤的頁面名稱、頁面的JS錯誤率和頁面訪問量。
JS錯誤異常洞察

異常洞察對話框可執行以下操作:

  • 單擊高頻錯誤Top 5頁簽,然后單擊操作列中的診斷,進入錯誤詳情頁面。更多信息,請參見查看錯誤詳情
  • 單擊頁面錯誤率Top 5頁簽,然后單擊目標頁面操作列中的分析,可查看該頁面的錯誤總覽視圖。

查看頁面錯誤率排行

頁面錯誤率排行頁簽可按JS錯誤率從高到低的順序展示選定時間段內出現JS錯誤的頁面,包括以下指標:

  • 頁面:出現過JS錯誤的頁面。
  • 錯誤率:選定時間段內在該頁面發生過錯誤的PV占總PV的比例。
  • 訪問量:頁面的訪問量。

單擊操作列中的分析,可查看該頁面的錯誤總覽視圖。

圖 2. 頁面的錯誤總覽
頁面層面的錯誤總覽

查看高頻錯誤

高頻錯誤頁簽可按出現次數從多到少的順序展示選定時間段內的JS錯誤,包括以下指標:

  • 錯誤信息:ARMS捕捉到的JS錯誤內容。
  • 頁面:JS錯誤出現的頁面。
  • 錯誤數:JS錯誤出現的次數。
  • 影響用戶數:JS錯誤影響到的用戶數量和比例。

單擊操作列中的診斷,進入錯誤詳情頁簽。更多信息,請參見查看錯誤詳情

說明JS錯誤診斷頁面上,默認情況下高頻錯誤頁簽顯示的是應用層面的JS錯誤。在頁面錯誤率排行區域或異常洞察對話框中頁面錯誤率Top 5頁簽單擊分析后,展示的是對應頁面上的JS錯誤。

查看錯誤詳情

錯誤詳情頁簽可展示以下信息:

  • 概要信息
    • 名稱
    • 類型
    • 時間(JS錯誤的發現時間)
    • 設備
    • 操作系統
    • 瀏覽器
    • IP
    • 網絡制式
    • 地區
    • URL
    • 文件(出現JS錯誤的文件路徑)
    • 應用版本號
  • 堆棧信息:與JS錯誤出現位置有關的信息。
  • 用戶行為回溯:回溯的用戶行為信息,用于還原報錯現場。
圖 3. JS錯誤詳情頁面
JS錯誤詳情頁面

錯誤詳情頁簽上可執行以下操作:

  • 如需確定JS錯誤的準確出錯位置,請在堆棧信息區域單擊一條堆棧信息左側的三角形圖標展開該行,單擊選擇Source Map,然后在Source Map文件對話框中選擇現有的Source Map文件或上傳新的Source Map文件,最后單擊確定

    Source Map文件

    ARMS將利用Source Map文件還原準確的JS錯誤位置。

    解析后的信息
  • 如需查看用戶行為軌跡,請查看回溯用戶行為區域。
  • 如需查看該錯誤的分布情況,請單擊錯誤分布頁簽。

回溯用戶行為

錯誤詳情頁簽上的用戶行為回溯區域展示用戶的行為軌跡,輔助還原報錯現場。

Section Behavior

查看錯誤分布

JS錯誤診斷頁面的錯誤分布頁簽可展示具體JS錯誤的分布情況,統計維度包括:

  • 時間分布:僅頁面層面的錯誤分布支持。
  • 瀏覽器分布
  • 操作系統分布
  • 設備分布
  • 版本分布
  • 地理分布:在中國維度下按省、直轄市、自治區統計,在世界維度下按國家/地區統計。
圖 4. JS錯誤分布頁面
JS錯誤分布頁面

錯誤分布頁簽上可執行以下操作:

  • 時間分布區域,將鼠標懸浮于分布圖上,可以展示具體的錯誤數。
  • 瀏覽器分布操作系統分布設備分布版本分布區域,將鼠標懸浮于分布圖上,可以展示具體的錯誤數和占比情況。

  • 地理分布區域的中國世界頁簽上,單擊右側表格中的錯誤數箭頭,可切換表格的排序順序(從正序切換為倒序,或從倒序切換為正序)。

常見問題

  • 如何開啟或關閉用戶行為回溯功能?

    該功能默認開啟。如需關閉,請在config配置中添加SDK配置項behavior: false。SDK配置項的詳細信息,請參見SDK參考

  • 開啟用戶行為回溯后,調試過程中通過console.log打印出的信息會定位到ARMSSDK代碼bl.js中,而不是源代碼中的位置,如何解決?
    Issue Before

    造成這種現象的原因是ARMS通過重寫console對象的log等方法來監控瀏覽器控制臺打印的內容。解決方法為:

    • 方法一(推薦):設置Chrome瀏覽器的黑盒(Blackboxing)。
      1. 打開Chrome瀏覽器,按Ctrl+Shift+I打開開發者工具面板,然后單擊設置圖標。
      2. Settings面板左側單擊Blackboxing,單擊Add pattern,在Pattern文本框中輸入/bl.*\.js$,并單擊Add
        Tab Blackboxing
    • 方法二:使用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打印出的信息即可定位到源代碼中的位置。

    Issue After