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