Browser MonitoringのJS Error UIページでは、JavaScriptエラーがどこで発生しているのかを示し、根本原因の特定に役立つツールを提供します。また、JSエラーデータに関して問い合わせてクエリビルダーでダッシュボードを作成するか、Browser APIを利用して処理済みエラーをモニターできます。
JavaScriptエラーを表示する
JavaScriptエラーを検証するには:
- one.newrelic.com > Browser >(アプリケーションを選択) > JSエラーに進みます。
- UIで利用可能なオプションを利用して、何がエラーの原因となっているかを検証します。
- オプション:UIでイベントログもしくはスタックトレースを見直します。
- オプション:JSエラーに関して問い合わせてダッシュボードを作成するか、APIを使用してエラーをモニターもしくはログします。
UIで利用可能なオプションには、以下が含まれます:
以下を行う場合... | 実行する操作 |
---|---|
長いエラーリストを検索する |
Search [search icon]ボックスを使用することで、キーワード、URL等でエラーをすぐに見つけて修正できます。 |
attributesをグループ化/フィルタリングする |
|
注目すべき偏差とパターンを表示する |
エラープロファイルテーブルは、通常よりも頻繁にエラーが発生するブラウザバージョンやデバイスなど、注目すべき統計的変動を示しています。 |
エラー詳細を検証する | |
エラーにつながったイベントを検証する |
イベントログには、エラーにつながったブラウザインタラクション、AJAXコール、そしてトレースが表示されます。 |
Minified版JavaScriptをデコードする |
JavaScriptがMinified版の場合、JS errorsページのエラーはあまり役に立たない可能性があります。Minified版JavaScriptをデコードして、こうしたエラースタックトレースを活用するには、New RelicにJavaScriptソースマップをアップロードします。 |

JSデータの問い合わせと視覚化
New Relicは、JSエラーをイベントデータとして保存します。これにより、クエリビルダーでエラーデータのクエリを行えます。NRQLクエリを実行して、表示もしくは共有するダッシュボードを作成するには、クエリビルダーDeJavaScriptError
イベントタイプを問い合わせます。
APIを使用して処理済みエラーを監視する
Browser Monitoring APIのnoticeError
コールを使用すると、ご利用のアプリケーションが処理したエラーやその他のエラーを関知し、ログすることができます。
イベントログを見直す
SPAモニタリングを有効にする必要があります。
イベントログには、JSエラーにつながったブラウザインタラクション、AJAXコール、そしてトレースが表示されます。これによって、エラーの根本原因をトラブルシューティングできます。

Event log(利用可能な場合)を表示するには:one.newrelic.com > Browser >(アプリケーションを選択) > JSエラー > (エラーを選択) > エラーインスタンスの順に移動します。イベントログにイベントが無い場合は、イベントログが表示されません。
たとえば、エラーメッセージを示すAJAXリクエスト後にJSエラーが発生している場合、AJAXリクエストに正しい情報が含まれていない可能性があります。この場合、AJAXコールの失敗が原因となってJSエラーにつながります。
- イベントログの欠如をトラブルシューティングする
-
イベントログ内のイベントが存在しない理由として、以下が挙げられます:
- エージェントのバージョン。 イベントログデータをキャプチャするには、SPA監視を有効にする必要があります(Browserエージェントバージョン1071以降)。
- ブラウザインタラクションの一部ではないJSエラー。 JSエラーがインタラクション外で発生した場合、これに関連したブラウザインタラクションの詳細はキャプチャーできません(例:非同期JSファイルでエラーが起きた場合)。
- クリックによってJSエラーが引き起こされた。 一部のケースでは、クリックの直接的な結果としてエラーが起きた場合、関連のインタラクションはキャプチャーされません。
イベントログもしくはスタックトレースが無い場合は、エラー詳細チャートを利用して、エラーがブラウザタイプ、デバイスタイプ、そしてURLに及ぼす影響を分析できます。
スタックトレースを表示する
スタックトレースでは、エラーが重要な機能性を損ねているか、そのエラーの重要性が低いかを示すことができます。エラーのスタックトレース(利用可能な場合)を表示するには:one.newrelic.com > Browser >(アプリケーションを選択) > JSエラー > (エラーを選択) > エラーインスタンスの順に移動します。
- スタックトレースの欠如をトラブルシューティングする
-
エラーに関するスタックトレースが表示されない場合、以下の理由が挙げられます:
- エラーが投げられていない場合、スタックトレースは生成されません。
- JSスクリプトはCDNもしくは他の外部ロケーションでホスティングされており、New Relicはこれらのスクリプトに起因するエラーを確認できません。これは、オリジン間リソース共有(CORS)を利用することで、解決できる場合があります。
- AngularJSエラーです。この詳細に関してはAngularエラーの欠如を参照してください。
- エラーが
SyntaxError
もしくはScript error
である:これらは、スクリプトの読み込み中に発生するため、スタックトレースを生成しません。 - 一部の古いブラウザでは、スタックトレースの無いエラーを生成するか、利用できないスタックトレースを提供する可能性があります。
- New Relicエージェントが見つける前に、エラーをキャプチャーしています。
- 同一ユーザーのアクセスにおいて重複する収集サイクル中にエラーが発生すると、最初の収集サイクル時にレポートされたエラーイベントのみスタックトレースが記録されます。
以下に示すのは、スタックトレースのレポートにおける一部のソリューションになります:
noticeError
APIコールを使用します。- ディベロップメントモードを有効にします。
- JS errors UI ページを利用して、イベントログを含む詳細を取得します。JS errorsページは、スタックトレース抜きでも実行可能な情報を提供できるよう設計されています。
グローバルおよび一般的エラー
New Relicは、JavaScript関数をラップすることで、スタックトレース経由で投げられるエラー情報を取得します。エラーがスローされない場合、それらは利用できません。たとえば、AngularJSアプリケーションでAngularJSエラーがUIに表示されない際は、トラブルシューティング手順に従います。
一部の旧式のブラウザでは、次のエラーを利用できない場合があります。
SyntaxError
もしくはScript error
: これらは、スクリプトの読み込み中に発生するため、スタックトレースを生成しません。- インラインのJavaScriptもしくはイベントハンドラエラー:これらはラップされていません。
- 別ドメインに存在するサードパーティースクリプトが投げたエラーは、利用できません。
- 古いブラウザで発生しているエラー:これらは、利用可能なスタックトレースを提供できない可能性があります。一部のケースでは、スタックトレースが一切提供されない場合もあります。
エラー収集はJavaScript関数をラップすることで行われるため、ブラウザによって下位で投げられるエラー(オリジン間リソース共有エラー等)も利用できません。