14.4.2 ルートアプリケーション情報を利用したログ調査
J2EEアプリケーションまたはバッチアプリケーション内で,アプリケーションサーバのAPIを使用すると,性能解析情報のルートアプリケーション情報の文字列表現を任意のタイミングでログファイルに出力できます。
ルートアプリケーション情報の文字列表現は,次の形式で出力されます(最大48文字)。
IPアドレス/プロセスID/通信番号 (例:10.209.15.130/1234/0x0000000000000001)
APIを使用してログファイルにルートアプリケーション情報を出力すると,ログファイルと性能解析トレースファイルを突き合わせた調査ができるようになります。
Webコンテナでは,新しいリクエストを受け付けた時点で,リクエスト単位で新しいルートアプリケーション情報が割り当てられます。新しいルートアプリケーション情報が割り当てられるトレースポイントを次に示します。
条件 |
イベントID(処理内容) |
処理内容 |
---|---|---|
インプロセスHTTPサーバを使用している場合 |
0x8211 |
リクエスト取得時,リクエストヘッダ解析完了時 |
Webサーバと連携している場合※ |
0x8200 |
リクエスト取得時,リクエストヘッダ解析完了時 |
注※ Webサーバと連携している場合,リダイレクタで取得したルートアプリケーション情報が割り当てられます。リダイレクタまたはリダイレクタが使用するPRFトレース出力ライブラリのロードに失敗してルートアプリケーション情報が発行されなかった場合,Webコンテナで新しいルートアプリケーション情報が割り当てられます。
また,次のトレース取得ポイントでは,「IPアドレス/プロセスID/通信番号」が「0.0.0. 0/0/0x0000000000000000」と出力されることがあります。
-
0x8212
インプロセスHTTPサーバ使用時のWebクライアントからのデータ読み込み開始時
-
0x8312
インプロセスHTTPサーバ使用時のWebクライアントへのデータ書き込み開始時
「IPアドレス/プロセスID/通信番号」が「0.0.0. 0/0/0x0000000000000000」と出力されるのは,次の場合です。
-
HTTPリクエストヘッダを受信した場合
-
HTTPリクエストではない,不正なデータを受信した場合
-
リクエスト処理中に例外が発生した場合
なお,ルートアプリケーション情報の文字列表現での出力に使用するAPIは,com.hitachi.software.ejb.application.prfパッケージで提供されている,CprfTraceクラスのgetRootApInfoメソッドです。
J2EEアプリケーションまたはバッチアプリケーション開発時のルートアプリケーション情報の取得の実装については,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の「7.7.9 性能解析トレースファイルとスレッドダンプを対応づけた問題個所の調査」を参照してください。APIの詳細については,マニュアル「アプリケーションサーバ リファレンス API編」を参照してください。