JavaScriptのエラーページ:エラーを検証する
JavaScriptのエラーページ:エラーを検証する

JavaScriptのエラーページ:エラーを検証する

New Relic BrowserのJavaScriptエラーページでは、製品のJavaScriptにおいて、どのブラウザーでどのようなエラーが起きているかを素早く見ることができます。エラーが発生した回数や、エラーが起きたユニークなページ読み込みの回数をもとにエラーを詳しく調査することができます。このことで、サイト上のリアルユーザー体験に影響を与えるエラーを見極めることができます。

この機能にアクセスできるかどうかは、サブスクリプションレベルによってことなります。

JavaScriptのエラーレポートを有効にする

JavaScriptのエラーメッセージは任意のテキストで構成されており、多くの場合は機密情報を含むことはありません。しかしながら、機密情報を伴うメッセージを意図的に構成することは可能です。JavaScriptのエラーレポートを有効化する前に、Webサイトがエラーメッセージの情報がいかなる機密情報をも開示していないことを確認してください。関連情報についてはNew Relic Browserのセキュリティをご覧ください。

New Relic BrowserはJavaScriptのエラーレポートを自動的に有効化することはありません。このPro版の機能を有効にするためには:

  1. New RelicのメニューバーからBrowser > Browser アプリ > (選択したアプリ)> 設定を選択します。
  2. Borwser エージェントのインストルメンテーションのオプションから、ProまたはPro + SPAを選択します。
  3. アプリケーションの設定を保存を選択します。
  4. 情報が有効になるまで約5分お待ちください。
  5. 推奨:5分経ってもデータが表示されない場合は、エージェントを再起動してください。
Pro版の機能は、選択されたアプリのJSエラーBrowser Overviewページからでも有効にすることができます。

JavaScriptエラーを表示

JavaScriptのエラーレポートの機能を有効にした後は、Browser オーバービューページにはページビューとJSエラーのチャートが含まれ、JSエラーのページでは詳細情報が表示されます。


Browser > Browser アプリ > (選択したアプリ) > JSエラー:上の図では、ブラウザーのJavaScriptエラーを表示します。最も多いJavaScriptエラーは、リスト内及びトップチャート内で色分けされます。
JavaScriptエラーを表示するには:

  1. New RelicのメニューバーからBrowser > Browserアプリ > (選択したアプリ)> JSエラーを選択します。
    または
    選択したアプリのBrowser OverviewからJavaScriptエラーページを直接見るには、ページビューとJSエラーのチャート名にあるリンクを選択してください。
  2. JavaScriptエラーのインスタンスチャートで最も数が多く色分けされたエラーを分離するには、リスト内で該当するエラーメッセージにマウスオーバーしてください。
  3. エラーの詳細を見るには、リスト上の名前を選択してください。

JavaScriptエラーインスタンスのチャートでは、エラーが発生したユニークなページビュー数によって重みがつけられて表示されます。例えば、クリックハンドラで発生したエラーにおいてユーザーが単一ページの読み込みの間に100回クリックした場合、このチャートでのユーザー体験としては100回のクリックではなく、1回のクリックとして記録されます。

JavaScriptエラーの詳細を検証する

JSエラーの中には極めて目立つものもありますが、その他の多くはユーザー側では気づかないことがあります。エラーインスタンスの詳細を検証するために、エラーがサイトの重要な機能に支障をきたしているかどうかを見極めたり、またエラーを再現するために手始めにURLやブラウザーの情報を取得することができます。


Browser > Browser アプリ > (選択したアプリ) > JSエラー > (選択されたエラー):選択されたJavaScriptエラーの記録にはオーバービューのチャートや、取得可能な場合はエラーインスタンスの詳細が含まれます。

New Relicの標準のユーザーインターフェースの機能ページの機能を使うことで詳細にドリルダウンすることができます。以下は、JavaScriptエラーのページの追加機能の概要です。

  • エラーの詳細を見るには、リスト内の名前を選択します。
  • 機能名、ブラウザーの種類、スタックトレース、また他のエラーに関する情報の詳細を見るには、エラーインスタンスの詳細を選択し、次に矢印ボタンを使ってそれぞれのエラーインスタンスのページを切り替えます。
  • エラーを含むセッショントレースを表示し、ユーザー体験やアクションのコンテキスト内のエラーを見るには、セッショントレースのリンクを選択します。
  • JavaScriptのエラーページに戻るには、X(閉じる)を選択してください。

インスタンス詳細とスタックトレースを調査する

該当する場合は、JavaScriptのエラーインスタンスの詳細タブではコントローラー名、ブラウザーの種類、スタックトレース、そしてエラーに関するその他の情報を表示します。また、表示項目にはエラーの数も含まれますので、ページをめくることで例えば1/11のような詳細を見ることが可能です。
スタックトレースの詳細では、特定のブラウザーの種類で起こるエラー(開発中には使われなかったブラウザーからのエラースタックを含みます)を分けて表示させることができます。スタックトレースには、ウェブページやコードに含まれるURLや、省略表示された地域名が含まれます。スタックトレースやNew Relic Browserを使ったJavaScriptエラーのトラブルシューティングの「現実世界での」事例を見るには、New Relicのブログポストをご覧ください。


Browser > Browser アプリ > (選択したアプリ) > JSエラー > (選択したエラー) > エラーインスタンスの詳細:該当する場合は、エラーインスタンスの詳細にはエラーの数が含まれるので、1/7のようにページをめくって詳細を見ることが可能です。上の図では、JavaScriptのエラーがiPhoneのSafariを含む複数のブラウザーの種類で見つかったエラーを示しています。

エラーのグルーピング

New Relic BrowserはJavaScriptのエラーを主にスタックトレースごとにグループ化しますが、これは同じスタックはプログラムコード内の同じ場所が原因で起こり、多くの場合同じ結果をもたらすためです。スタックトレースはブラウザーによって多種多様であるため、ブラウザーエージェントはグルーピングを行う前に「標準的なスタックトレース」内に集まったそれぞれのスタックトレースを変換します。また、さらに詳細なグルーピングを行うためのスタックの情報は存在しないため、スタックトレースが有効でないエラーも一緒にグルーピングされます。
アジア系の、または他の非ラテン系の文字がエラーメッセージに表示されていることがありますが、これはブラウザー内のエラーメッセージはその地域の言語で表示されているためで、こうしたテキストデータもNew Relic Browserによってキャプチャーされます。New Relic Browserは、追加の詳細情報を提供するために、時間枠内のスタックトレースに対して最も共通性のあるエラーメッセージを選択します。

無効なエラー

New Relicはスタックトレースから破棄されたエラーを取得するためにJavaScriptの機能をラッピングしています。無効なエラーは下記を含みます:

  • スクリプトが読み込まれている最中に起こるためスタックトレースを生成しないSyntaxエラーまたはスクリプトエラー
  • 開示されたインラインのJavaScriptまたはイベントハンドラのエラー
  • 別のドメインにある第三者によるスクリプトによって破棄されたエラー
  • 有効なスタックトレースを提供することができない、または場合によってスタックトレースをまったく提供しない、古いブラウザーによって起こるエラー

エラーの収集はJavaScriptの機能をラッピングすることで行われるため、より低いレベル(クロスオリジンのリソース共有エラーなど)でブラウザーが破棄するエラーは取得の対象外となります。

関連情報

New Relicのオンライン テクニカル コミュニティで、JavaScriptのエラーレポートの詳細について議論しましょう。
追加のドキュメンテーションリソースは次の通りです:

  • AngularJSのエラーが表示されない(AngularJSアプリケーションからのエラーをトラブルシューティング)
  • New Relic Browser(New Relic Browserの概要、スタンダード及びPro版の機能)
  • Browser Agent API: noticeError(アプリが取り扱う、または他の様々なエラーを発見/記録するための呼び出し)

New Relicのオンライン テクニカル コミュニティでBrowserを使ったモニタリングについて議論しましょう!トラブルシューティングや質問をしたり、Java ScriptエラーのレポートAJAXタイミングの詳細を話し合うことができます。