ブラウザモニタリングのJavaScriptスニペットは、ウェブサイトのパフォーマンスや、ページの読み込み時間に対するユーザーの認識に、ほとんど目に見えない影響をもたらします。このJavaScriptは、ウェブページのデータのパケットに含まれており、そのまま送信されます。さらに、JavaScriptはウェブページの残りの部分が実行されると同時に、エラーやイベントの監視を開始します。JavaScriptをロードするために必要なオーバーヘッドはごくわずかで、実用的なデータの大きなリターンとなります。
全体的な影響
JavaScriptのオーバーヘッドは、ユーザーへの影響とお客様のシステムのパフォーマンスへの影響の両方を考慮しています。
- ユーザーの認識: 一般的にユーザーは、200ms未満のウェブサイトのパフォーマンス低下を検知できません。ブラウザのJavaScriptは、ページの読み込みごとに15ms以下の時間を加算します。これは時間の経過とともに分割されるため、ユーザーがJavaScriptによるパフォーマンスへの影響を認識することはできません。
- ウェブサーバとシステム: ブラウザアプリの監視は、サーバではなくユーザーのブラウザ上で行われます。処理時間がCPU消費量に影響することはありません。
さらに、監視対象のアプリやウェブページへの潜在的な影響を最小限に抑えるために、追加の手順を実行します。たとえば、「ローダー」スクリプトは、ページのライフ サイクル全体で監視が有効になっていることを確認するために、 <HEAD>
で同期的に読み込まれます。このスクリプトはインラインで含まれているため、 コンテンツ配信ネットワーク (CDN)への別のラウンドトリップ ネットワーク要求が不要になります。「ローダー」は、最初のページの読み込みに付属しています。
ページのライフ サイクルの後半で、New Relic は追加の監視スクリプトを非同期で読み込みます。これらのスクリプトは、ユーザーに知覚可能な影響を与えるべきではなく、1 ページあたり 15 ミリ秒未満の全体的なオーバーヘッドに含まれています。
ネットワークへの影響
また、ブラウザー監視は、データをローカルに (クライアントで) 集約し、定期的な間隔でページのライフサイクル イベント load
、 unload
、 pageshow
、および pagehide
で New Relic に送り返すことにより、エンド ユーザーのネットワーク トラフィックを最小限に抑えます。 .(ブラウザ セッションのアイドル期間中は、送信が不要な場合があります。)
ブラウザエージェントスクリプト
エージェントは複数のスクリプトで構成され、「ローダー」の初期サイズを縮小し、有効なエージェント機能をサポートするために必要な JavaScript のみのロードをサポートします。最初のスクリプト「ローダー」は、HTML ドキュメントにインラインで挿入されます。残りのスクリプトは、コンテンツ配信ネットワーク (js-agent.newrelic.com) からダウンロードされます。 load
ページのライフサイクル イベントが発生したとき。ロードされるスクリプトの数は、使用されているエージェントのタイプによって異なります。 ブラウザ エージェントの種類については、こちら をご覧ください。
スクリプト | Lite | プロ | プロ+SPA |
---|---|---|---|
インラインのスクリプトサイズ | 10.2KB | 15.5KB | 17.5KB |
ダウンロードしたスクリプトのサイズ | 15.3KB | 21KB | 25.4KB |
サイズは、gzip 圧縮を使用して縮小されたスクリプトに基づいています。
ブラウザエージェントのハーベスト
データ型 | Lite | プロ | プロ+SPA | 収穫頻度 |
---|---|---|---|---|
PageView イベント | そう | そう | そう |
|
PageViewTiming イベント | そう | そう | そう |
|
JavaScriptError メトリクス | ノー | そう | そう |
|
Ajaxメトリクス | ノー | そう | そう | タイムスライス データとして JavaScriptError メトリクスと一緒に送信されます。 |
AjaxRequest イベント | ノー | そう | そう |
|
セッション・トレース | ノー | そう | そう | セッション トレース データは、 |
PageAction イベント | ノー | そう | そう |
|
BrowserInteraction イベント | ノー | ノー | そう |
|