ブラウザ応答時間の監視
CA BRTM では、Webview および Workstation ユーザ インターフェースで Web ページ ロード パフォーマンス メトリックを監視できます。ブラウザ、ネットワーク、またはアプリケーション サーバにパフォーマンス低下を正確に示すことができます。
apmdevops97jp
CA BRTM では、Webview および Workstation ユーザ インターフェースで Web ページ ロード パフォーマンス メトリックを監視できます。ブラウザ、ネットワーク、またはアプリケーション サーバにパフォーマンス低下を正確に示すことができます。
以下の機能がサポートされています。
- CA BRTM フィルタおよび JavaScript スニペットの手動および自動挿入
- Web Timing API を使用するブラウザ Web Timing、または使用しないブラウザ Web Timing(古いブラウザの場合)
- URL グループによるメトリック集約
- excludeList および includeList エージェント プロパティを使用するインスツルメントされたページの制御
CA BRTM パッケージには以下のものが含まれます。
- Webview および Workstation でメトリックを表示するための CA BRTM ダッシュボードおよびタブ。
- CA BRTM エージェント拡張 - ブラウザ メトリックを要求するための JavaScript、および JavaScript を要求する JavaScript スニペットを含んでいます。
- CA BRTM サーブレット フィルタ - CA BRTM 要求に対してフィルタし、メトリックを抽出します。
内容:
2
要件
CA BRTM は以下を必要とします。
- アプリケーションに対して Java エージェントが設定されたライセンス登録済み CA APM 実装。
- コンテンツ タイプが text/HTML で構築された、圧縮および暗号化されていない Web ページ。
サポートされているプラットフォームおよびその他の要件については、「製品互換性マトリクス」を参照してください。
メトリック コレクション
CA BRTM メトリックを収集する手順の概要は以下のとおりです。
- 監視対象のアプリケーションで CA BRTM フィルタが設定されます。
- 監視対象のアプリケーション Web ページが CA BRTM JavaScript スニペットで自動的に設定されます(デフォルト)。
- JavaScript スニペットを含む Web ページがブラウザに送信されます。
- ブラウザが、ページおよび CA BRTM JavaScript をロードします。
- JavaScript がアプリケーションにパフォーマンス メトリックを送信します。
- CA BRTM フィルタおよび APM エージェントがメトリックをインターセプトし、Enterprise Manager に送信します。
ブラウザ応答タイミング
使用可能な場合、CA BRTM はブラウザ応答タイミング用の W3C Navigation Timing API を実装します。Web Timing API をサポートするブラウザのサンプルを以下に示します。
- Microsoft Internet Explorer バージョン 9 以降
- Firefox バージョン 7 以降
- Chrome
Web Timing API を使用するメトリック計算
以下の表では、Web Timing API をサポートするブラウザのメトリックの計算方法について説明します。
メトリック | 説明 | メトリックの計算 |
Average Browser Render Time (ms) | ブラウザがページを解析し、コンポーネントをすべてロードする時間。 | loadEventStart 時間 – domLoading 時間 |
Average Round Trip Time (ms) | ブラウザが初めてページを要求し、ページ全体の応答が受信されるまでの時間。 | responseEnd 時間 – requestStart 時間 |
Average DOM Construction Time (ms) | ナビゲーション開始から、ブラウザがドキュメント オブジェクト モデル(DOM)を構築するまでの時間。 注: この時間は、DOM 内のオブジェクトがすべて取得されロードされる時間ではありません。 | domContentLoaded 時間 - navigationStart 時間 |
Average Page Load Complete Time (ms) | ナビゲーション開始から、ブラウザがコンポーネントをすべてロードし、ページのロードが完了するまでの時間。 | loadEventStart 時間 - navigationStart 時間 |
Average Previous Page Unload Time (ms) | 以前に表示されたページをアンロードする時間。アンロードするページがない場合(たとえばブラウザ セッションが開始されたとき)、値はありません。 | unloadEnd 時間 - navigationStart 時間 |
Web Timing AP
I
を使用しないメトリック計算以下の表では、Web Timing API をサポートしないブラウザのメトリックの計算方法について説明します。
メトリック | 説明 | メトリックの計算 |
Average DOM Construction Time (ms) | ナビゲーション開始から、ブラウザがドキュメント オブジェクト モデル(DOM)を構築するまでの時間。 注: この時間は、DOM 内のオブジェクトがすべて取得されロードされる時間ではありません。 | domcontentloaded イベント時間 – beforeunload イベント時間 |
Average Page Load Complete Time (ms) | ナビゲーション開始から、ブラウザがコンポーネントをすべてロードし、ページのロードが完了するまでの時間。 | load イベント時間 - beforeunload イベント時間 |
Average Previous Page Unload Time (ms) | 以前に表示されたページをアンロードする時間。アンロードするページがない場合(たとえばブラウザ セッションが開始されたとき)、値はありません。 | unload イベント時間 – beforeunload イベント時間 |
ブラウザの考慮事項
メトリック生成に影響を与えることがあるブラウザの制限およびベスト プラクティスを確認します。
古いブラウザの制限
Web Timing API をサポートしない古いブラウザの場合、標準的なブラウザ イベントがタイミングを計算するために使用されます。計算はすべてナビゲーション開始時刻を基準にします。以下のタスクのいずれかを実行すると、ナビゲーション開始時刻が開始します。
- リンクをクリックする
- アドレス バーに URL を入力する
- ブックマークを選択する
Web Timing API をサポートしない古いブラウザを使用する場合は、制限事項を理解する必要があります。
制限 | 知っておくべき情報 |
メトリックが初期ページでは作成されない | ナビゲーション開始時刻が使用可能ではないので、beforeUnload イベント時刻が使用されます。初期ページの場合、関連する前のページがないので、メトリックは作成されません。インスツルメントされたページ間を移動する場合にのみ、タイミングは使用可能です。 |
メトリックがインスツルメントされたページでのみレポートされる | Web ページから次のページに移動すると、beforeUnload および unload イベント時刻を渡すために、セッション Cookie が使用されます。以下の場合、不正確なタイミングが作成されます。 すべてのアプリケーション ページがインスツルメントされているとは限らない。 ユーザがインスツルメントされていないアプリケーションに移動し、インスツルメントされたアプリケーションに戻る。 不正確なメトリックを防ぐために、リンクを使用してインスツルメントされたページ間を移動する場合にのみ、CA BRTM JavaScript はメトリックをレポートします。タイミングは、ブラウザ リフレッシュまたはブックマークによるナビゲーションに対して作成されません。 |
ページ ロード完了時間は実際の load イベントに基づく | ページ ロード完了時間は実際の load イベントが発生したときです。ページ ロードによってユーザ入力の待機がブロックされる場合、この時間はページ ロード完了時間に含まれます。 |
Web Timing API をサポートする新しいブラウザの制限事項
一部の新しいブラウザには以下の制限があります。
- 初期ページの場合、関連する前のページのアンロードはありません。
- ページ ロードによってユーザ入力の待機がブロックされる場合、この時間はページ ロード完了時間に含まれます。
Internet Explorer の制限事項とベスト プラクティス
- CA BRTM JavaScript は非同期でロードされます。したがって、アプリケーションの JavaScript および他のコンポーネントのロードと実行は妨げられません。ただし、Internet Explorer は load イベントを生成する前に、非同期ロードを待機しません。
- CA BRTM JavaScript はブラウザの load イベントに依存します。ロードに時間がかかりすぎたため、CA BRTM JavaScript がイベント コールバックを受け取らなかった場合、メトリックは送信されません。キャッシュされたバージョンを使用するのではなく JavaScript がリロードされるページ リフレッシュでは、ロード時間が長くなることがあります。
- メトリックが生成されるようにするには、Internet Explorer の設定[保存しているページの新しいバージョンがあるかどうかの確認]を[自動的に確認する]または[確認しない]に設定します。
メトリック レポートの制限事項
page load イベントが完了した後、アプリケーションの JavaScript はより多くのページ コンテンツまたはコンポーネントを要求できます。現在、CA BRTM はこのタイプの要求をレポートしません。たとえば、ユーザが AJAX 要求になるページのボタンをクリックした場合、新しいページ ロードはありません。また、メトリックは生成されません。
アプリケーションの考慮事項および制限事項
メトリックの生成および表示に影響を与えることがあるアプリケーションの考慮事項および制限事項を確認します。
自動 JavaScript スニペット挿入が動作しない場合
以下の例外では、手動スニペット挿入オプションを使用する必要があります。
- JavaServer Faces アプリケーション自動 JavaScript スニペット挿入は、などの標準的な HTML タグに依存します。JSF ページはサーバ側のカスタム タグ ライブラリを使用するので、このオプションは動作しません。手動スニペットオプションを使用します。
- JavaScript write() 関数ページ自動 JavaScript スニペット挿入は、JavaScript write() 機能を使用して HTML タグを作成するページの構文エラーを引き起こす可能性があります。これらのページについては、「メトリック コレクションのエージェントの設定」で説明されている excludePattern プロパティを使用します。
- 共通 include ファイルを使用するアプリケーション(共通 head セクションを各ページに追加する)include ファイルがアプリケーションで使用されている場合は、手動 JavaScript スニペット挿入を使用することを考慮します。自動スニペット挿入により、アプリケーション ページにスニペットが挿入されると、システム オーバーヘッドが発生します。自動スニペット挿入を無効にするには、「メトリック コレクションのエージェントの設定」を参照してください。スニペットを手動で追加するには、「Web ページへの JavaScript スニペットの追加」を参照してください。
WebSphere アプリケーション
- text/html 以外のコンテンツ タイプ自動 JavaScript 挿入は、コンテンツ タイプが text/html のページのみでサポートされています。CA BRTM フィルタがコンテンツ タイプを特定できない場合、JavaScript 挿入は省略されます(たとえば静的な HTML ページ)。これらのページを提供するには、以下の Web コンテナ プロパティを false に設定します。com.ibm.ws.webcontainer.setcontenttypebysetheaderまたは、手動スニペット挿入オプションを使用します。
- WebSphere Portal Serverこのポータル サーバは、すべてのアプリケーションに共通な、wps.ear の単一の web.xml 設定を使用します。wps.ear の web.xml で CA BRTM フィルタを指定します。監視用に個別のアプリケーションを制御するには、「メトリック コレクションのエージェントの設定」で説明されている url-pattern パラメータを使用します。
WebLogic 10.3 と自動フィルタ挿入
自動 JavaScript フィルタ挿入は、WebLogic 10.3 でデプロイされるすべてのアプリケーションに対してアクティブです。単一のアプリケーションを監視するには、「メトリック コレクションのエージェントの設定」の説明に従って CA BRTM プロパティ excludeList または includeList を使用します。または、手動フィルタ オプションを使用できます。
フレームが含まれるページの監視
設計上、メトリックはすべて平均されます。フレームは、フレームが含まれるメイン ページのような要求です。URL グループが 1 つある場合、メイン ページ メトリックはフレーム メトリックとして平均されます。フレームとは別のメイン ページで URL グループを定義する場合、個別のメトリックが得られます。特定のフレームによってメイン ページの速度が低下している場合、個別のメトリックが役立ちます。メイン ページ メトリックのみが必要な場合は、excludeList プロパティを使用し、フレーム URL を除外します。詳細については、「メトリック コレクションのエージェントの設定」を参照してください。
アプリケーションのセキュリティ制約
アプリケーションが特定のアプリケーション パスを制限するセキュリティ仕様である場合、web.xml を編集して <web-resource-collection> エレメントの <url-patterns> に /BRTM を追加します。