問題
ブラウザアプリに、 AJAXデータ が表示されていません。
解決
アプリケーションがでインストゥルメントされ、他のPro 機能のデータを正しく収集している場合は、次の手順に従ってください。
ブラウザの開発コンソールを使用して、ページが正しくインストルメントされていることを確認します。コンソールに XMLHttpRequest
または fetch
、あるいはその両方を入力します。
インスツルメンテーションが成功した場合、コンソールには次のような表示がされます。
// XMLHttpRequest ƒ (e){const t=new o(e),n=r.context...
// fetch ƒ (){var t=3,n=(0,r().getTrace...
計測に失敗した場合は、次のような表示になります。
// XMLHttpRequestƒ XMLHttpRequest() { [native code] }
// fetch ƒ fetch() { [native code] }
このタイプの障害が発生した場合、または異なる応答が表示された場合は、AJAX インストルメンテーションが無効になっているか、New Relic インストルメンテーションと競合する別のスクリプトまたはライブラリを使用している可能性があります。
AJAX インストルメンテーションはライト エージェントには含まれていません。ブラウザ コンソール開発ツールを開いて、 newrelic.initializedAgents
オブジェクトを確認します。このオブジェクトには、ページ上で実行されているすべてのエージェントのエントリが含まれています。通常、1 ページにはエージェントが 1 人だけ存在します。初期化されたエージェント オブジェクトで runtime
オブジェクトを検査します。このオブジェクトには、 loaderType
などの実行中のエージェントに関する情報が含まれています。loaderType
が lite
の場合、AJAX インストルメンテーションは使用されているエージェントに含まれていません。
loaderType
が lite
ではない場合は、初期化されたエージェントの config
および features
オブジェクトを確認することもできます。config
オブジェクトには、 enabled
ブール値を持つ ajax
オブジェクトを含む、エージェントの実行時設定が含まれます。features
オブジェクトには、 ajax
エントリを含む、エージェントによって初期化された各機能のエントリが含まれている必要があります。この ajax オブジェクトに、ブール値 enabled
の true
と featAggregate
エントリが含まれていることを確認します。これらの項目のいずれかが当てはまらない場合は、ブラウザ エンティティ上の New Relic の設定変更、または HTML にコピー/貼り付けられた NREUM.init
オブジェクトへの手動変更が原因で、AJAX インストルメンテーションが初期化されていない可能性があります。
AjaxRequest イベントの作成時に特定のドメインとパスを無視するようにエージェントを構成できます。
ブラウザの開発コンソールを使用して、 newrelic.init
を実行して現在の AJAX 拒否リスト ルールを確認します。deny_list
という配列を含むプロパティ ajax
を探します。
拒否リストに見覚えのないエントリ、または AJAX 呼び出しのフィルタリングの原因となっているエントリがある場合は、 「AjaxRequest イベントのフィルタリング」 ドキュメントを参照して詳細なガイダンスを確認してください。
オブジェクトが適切に計測されている場合は、ブラウザーの開発者ツールでネットワーク トラフィックを監視しながら、アプリケーションで AJAX 呼び出しをトリガーしてみてください。1 分ほど待ってから、 xhr
パラメーターを指定した bam.nr-data.net/jserrors
への呼び出しを探します。通話が失敗した場合は、ネットワークの問題を確認してください。
この呼び出しが表示されない場合、ネットワーク アクセスに関係のないエラーで失敗した場合、または成功してもデータが表示されない場合は、トラブルシューティングのドキュメントに進んでください。
リクエストがJSONPを使用している場合は、以下の機能に関する要件と注意点を参照してください。
リクエストでJSONP を使用する場合、これらのリクエストはAJAX UI ページに表示されません。 ただし、 セッショントレース内ではそれらを資産として表示できます。 SPA 監視 を使用している場合は、 Page viewsページのBreakdownタブで表示できます。
JSONPが認識されるための要件
- JSONPの各リクエストには、固有のコールバック関数を使用する必要があります。ほとんどの一般的なライブラリ(jQueryなど)は、リクエストごとに固有のコールバック関数を動的に生成します。
- New Relic によって認識されるためには、コールバック関数名を含むクエリ文字列の名前が
"callback"
または"cb"
である必要があります。これは、最も一般的なライブラリのデフォルトの動作です。
これらのトラブルシューティング手順のいずれかが失敗する場合、または AJAX データの欠落に関する問題が依然として発生する場合は、 support.newrelic.comでサポートを受けてください。