• ログイン

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

ブラウザのモニタリングとパフォーマンスへの影響

ブラウザモニタリングのJavaScriptスニペットは、ウェブサイトのパフォーマンスや、ページの読み込み時間に対するユーザーの認識に、ほとんど目に見えない影響をもたらします。このJavaScriptは、ウェブページのデータのパケットに含まれており、そのまま送信されます。さらに、JavaScriptはウェブページの残りの部分が実行されると同時に、エラーやイベントの監視を開始します。JavaScriptをロードするために必要なオーバーヘッドはごくわずかで、実用的なデータの大きなリターンとなります。

全体的な影響

JavaScriptのオーバーヘッドは、ユーザーへの影響とお客様のシステムのパフォーマンスへの影響の両方を考慮しています。

  • ユーザーの認識: 一般的にユーザーは、200ms未満のウェブサイトのパフォーマンス低下を検知できません。ブラウザのJavaScriptは、ページの読み込みごとに15ms以下の時間を加算します。これは時間の経過とともに分割されるため、ユーザーがJavaScriptによるパフォーマンスへの影響を認識することはできません。
  • ウェブサーバとシステム: ブラウザアプリの監視は、サーバではなくユーザーのブラウザ上で行われます。処理時間がCPU消費量に影響することはありません。

さらに、監視対象のアプリやウェブページへの潜在的な影響を最小限に抑えるため、追加の措置を講じています。例えば、"ローダー" スクリプトは、 < HEAD> に同期してロードされ、ページのライフサイクル全体でモニタリングが有効になるようにしています。このスクリプトはインラインで含まれているため、 コンテンツデリバリネットワーク(CDN) への別のラウンドトリップネットワークリクエストは必要ありません。"ローダー" は、最初のページロード時に付属しています。

ページのライフサイクルの後半で、New Relic は追加の監視スクリプトを非同期的にロードします。このスクリプトはユーザーに知覚できるような影響を与えることはなく、1ページあたり15ms未満という全体的なオーバーヘッドに含まれています。

ネットワークへの影響

また、ブラウザモニタリングでは、データをローカル(クライアント内)で集約し、 load 、定期的な間隔で、 unload 、またはデータが収集されたときに New Relic にデータを送信することで、エンドユーザーのネットワークトラフィックを最小限に抑えます。(ブラウザセッションのアイドル期間中は、送信が必要ない場合もあります)。

ブラウザエージェントスクリプト

エージェントは2つのスクリプトで構成されています。1つ目のスクリプトは、HTMLドキュメントにインラインで挿入されます。2つ目のスクリプトは、ウィンドウのロードイベントが発生したときに、コンテンツ・デリバリー・ネットワーク(js-agent.newrelic.com)からダウンロードされます。 ブラウザエージェントの種類についてはこちら

スクリプト

Lite

Pro

プロ+SPA

インラインのスクリプトサイズ

8.3 KB

22 KB

27 KB

ダウンロードしたスクリプトのサイズ

27 KB

27 KB

38 KB

ブラウザエージェントのハーベスト

データ型

Lite

Pro

プロ+SPA

収穫頻度

ページビューのメトリクス/イベント

そう

そう

そう

1回目のコール2つ目のスクリプトがダウンロードされると、すぐに最初のハーベストコールを行い、ページビューメトリクスと PageView イベントを生成します。これは、 bam.nr-data.net または bam-cell.nr-data.net へのJSONPコールです。

PageViewTiming イベント

そう

そう

そう

すべてのエージェントタイプは、 PageViewTiming イベントを収集します。最初の収集は、エージェントが初期化されてから10秒後、ウィンドウロードイベントの後に行われます。その後、30秒ごとに PageViewTiming イベントを追加で送信しますが、送信するデータがある場合のみです。これらのハーベストコールに含まれるイベントタイプについては、データディクショナリーの PageViewTiming セクション を参照してください。

JavaScriptError metrics/events

ノー

そう

そう

エージェントの初期化時に最初に呼び出され、その後は60秒ごとに呼び出されます。メトリクスデータとして送信されるこれらのコールは、エージェント自身が行うAjaxコールを含んでいるため、60秒ごとに発生します。この情報は、Ajaxメトリクスにも適用されます。

Ajaxメトリクス

ノー

そう

そう

JavaScriptエラーと一緒に送信されます。

Ajaxイベント

ノー

そう

そう

BrowserInteraction イベントと一緒に送信されます。これらは、インタラクションが終了するとすぐに収集されます。インタラクションを収集するのは、最初のページロード時とルート変更時のみです。また、カスタムインタラクションを生成するためのAPIも用意しています。各インタラクションに対して個別の呼び出しが行われます。通常、これらの呼び出しは、ユーザーがページを操作することに依存するため、頻繁には行われません。この情報は、 BrowserInteraction イベントにも適用されます。

セッション・トレース

ノー

そう

そう

エージェントが初期化されたときに最初に呼び出され、その後は送信するデータがあれば10秒ごとに呼び出されます。セッショントレースは最も多くのデータを送信しますが、サンプル数が多いのが特徴です。セッショントレースのデータを送信できるようになるのは、1時間あたり75ページビュー程度です。エージェントは、送信するのに十分なデータがあれば、10秒ごとにデータを送信します。

PageAction イベント

ノー

そう

そう

最初の呼び出しは、エージェントの初期化時に行われ、その後、送信するデータがある場合は30秒ごとに行われます。

BrowserInteraction イベント

ノー

ノー

そう

インタラクションが終了すると直ちに送信されます。最初のページロードを表す少なくとも1つのインタラクションが常に存在します。追加のインタラクションは、URLが変更された(ルート変更を表す)場合にのみ収集されます。Ajaxイベントの収穫頻度の詳細は、ここでも適用されます。

Copyright © 2022 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.