Cosminexus V9 アプリケーションサーバ Cosminexus Reliable Messaging

[目次][用語][索引][前へ][次へ]

9.3.6 PRFトレース

PRFトレースとは,クライアントからのリクエストがEISに至るまで,およびその処理結果がクライアントに返されるまでの,リクエストの一連の処理で出力される性能解析トレース情報です。Reliable Messagingでは,アプリケーションからのメッセージ送受信処理やComponent Container(TM)からのトランザクション制御などでPRFトレースを取得します。これによって,Reliable Messagingでの性能問題を特定でき,早期に問題を解決できます。

PRFトレースの運用方法および機能の詳細については,「4.4 PRFトレースファイルの運用(永続版リソースアダプタの場合)」,「5.3 PRFトレースファイルの運用(非永続版リソースアダプタの場合)」,およびマニュアル「アプリケーションサーバ 機能解説 保守/移行編」を参照してください。

また,出力先ディレクトリおよび出力ファイル名については,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の性能解析トレースファイルの出力先と出力情報に関する内容を参照してください。

<この項の構成>
(1) トレース取得ポイント
(2) PRFトレースの取得情報

(1) トレース取得ポイント

Reliable Messagingでは,次に示す処理の入口と出口でPRFトレースを取得します。なお,トレース取得ポイントの詳細については,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」を参照してください。

  1. アプリケーションからのコネクションの取得と解放処理
  2. J2EEサーバ(Component Container)からのコネクションのアソシエート処理
  3. アプリケーションからのメッセージ送受信処理
  4. J2EEサーバ(Component Container)からのトランザクション制御
  5. JMSアプリケーションからのJMSセッションの決着処理
  6. J2EEサーバ(Component Container)と連携したMessage-driven Beanメッセージ配信処理

各処理でのPRFトレースの出力ポイントと位置情報を表すイベントID,およびトレースの取得レベルについては,「付録D PRFトレース取得時のイベントID」を参照してください。

(2) PRFトレースの取得情報

Reliable MessagingではPRFトレースから戻り値やキュー名称などが取得できます。PRFトレース情報のヘッダが,Rc,INT,OPR,およびOPTの項目がReliable Messagingで取得できる情報です。また,取得できる情報はPRFトレースの出力ポイントと位置情報を表すイベントIDによって異なります。PRFトレースの出力ポイントと位置情報を表すイベントIDについては,「付録D PRFトレース取得時のイベントID」を参照してください。

Reliable MessagingでPRFトレースから取得できる情報について,次に説明します。

(a) 永続版リソースアダプタの場合

永続版リソースアダプタの場合のReliable MessagingでPRFトレースから取得できる情報を次の表に示します。

Reliable Messagingで取得できる情報以外のPRFトレースの情報については,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の性能解析トレースファイルの説明を参照してください。

表9-11 PRFトレースの取得情報(永続版リソースアダプタの場合)

イベントID 取得情報
Rc INT OPR OPT
0x9360 入口トレースの場合,常に「0」が出力されます。
出口トレースおよび呼び出し後トレースの場合,次のように出力されます。
  • 正常終了:0
  • 異常終了:0以外
トランザクション制御では,XAのエラーコードが出力されます。そのほかのエラー出口では,1が出力されます。
transacted引数に指定した値
次のどちらかが出力されます。
  • true
  • false
acknowledgeMode引数に指定した値
次のどれかが出力されます。※1
  • AUTO_ACKNOWLEDGE
  • DUPS_OK_ACKNOWLEDGE
  • CLIENT_ACKNOWLEDGE
0x9361
0x9362
0x9363
0x9364
0x9365
0x9366
0x9367
0x9368 キュー名称
0x9369 メッセージのJMS_HITACHI_UnitIDプロパティの値,JMSMessageID※5
0x936A キュー名称 メッセージ送信の優先度
0x936B メッセージのJMS_HITACHI_UnitIDプロパティの値,JMSMessageID※5
0x936C キュー名称
0x936D メッセージのJMS_HITACHI_UnitIDプロパティの値,JMSMessageID※5
0x936E キュー名称 メッセージ送信の優先度
0x936F メッセージのJMS_HITACHI_UnitIDプロパティの値,JMSMessageID※5
0x9370 キュー名称 メッセージセレクタ※2
0x9371 メッセージ取得の可否
次のどちらかが出力されます。
  • 取得成功:true
  • 取得失敗:false
メッセージ送信元のルートアプリケーション情報※3
0x9372 キュー名称 タイムアウト値(ミリ秒)
0x9373 メッセージ取得の可否
次のどちらかが出力されます。
  • 取得成功:true
  • 取得失敗:false
メッセージセレクタ※2 メッセージ送信元のルートアプリケーション情報※3
0x9374 キュー名称 メッセージセレクタ※2
0x9375 メッセージ取得の可否
次のどちらかが出力されます。
  • 取得成功:true
  • 取得失敗:false
メッセージ送信元のルートアプリケーション情報※3
0x9376 キュー名称 メッセージセレクタ※2
0x9377 メッセージ送信元のルートアプリケーション情報※3
0x9378 flags引数の値
次のどれかが出力されます。
  • TMNOFLAGS
  • TMJOIN
  • TMRESUME
0x9379
0x937A flags引数の値
次のどれかが出力されます。
  • TMSUCCESS
  • TMFAIL
  • TMSUSPEND
0x937B
0x937C
0x937D
0x937E 1フェーズコミットの有無
次のどちらかが出力されます。
  • true
  • false
0x937F
0x9380
0x9381
0x9382
0x9383
0x9384 flags引数の値
次のどれかが出力されます。
  • TMSTARTRSCAN
  • TMENDRSCAN
  • TMNOFLAGS
0x9385
0x9386
0x9387
0x9388
0x9389
0x938A
0x938B
0x938C
0x938D
0x938E
0x938F
0x9390
0x9391
0x9392
0x9393
0x9394
0x9395 キュー名称 メッセージのJMS_HITACHI_UnitIDプロパティの値,JMSMessageID※5
0x9396※4 メッセージ送信元のルートアプリケーション情報※3
0x9397

(凡例)
−:出力されません。

注※1
AUTO_ACKNOWLEDGE,DUPS_OK_ACKNOWLEDGE,またはCLIENT_ACKNOWLEDGE以外を指定した場合は出力されません。

注※2
文字列が32文字を超える場合,後半が削除されて,前から数えて32文字が出力されます。また,取得できなかった場合は,nullが返されます。

注※3
OPT列に出力されるルートアプリケーション情報(各イベントで一連の処理の先頭になるプロセスで取得した情報)はバイト配列で出力され,ASCII列(OPT列の次の列)にはOPT列に出力されるルートアプリケーション情報のASCII文字列が出力されます。
ただし,次のメッセージを受信した場合,OPT列にルートアプリケーション情報は出力されません。
・01-02以前のバージョンのReliable Messagingで登録されたメッセージ
・共用キューに登録されたメッセージ
・BytesContainerを利用して転送されたメッセージ
・デッドメッセージキューから再登録されたメッセージ

注※4
正常に処理が終了したときだけ出力されます。エラーが発生したときは出力されません。

注※5
JMS_HITACHI_UnitIDプロパティに空文字(“”),NULL以外の値を指定した場合だけ出力します。また,JMS_HITACHI_UnitIDプロパティとJMSMessageIDの間は半角スペース区切りで出力します。「JMS_HITACHI_UnitIDプロパティ(半角スペース)JMSMessageID」の文字列が256文字を超える場合,後半が削除されて,前から数えて256文字が出力されます。

(b) 非永続版リソースアダプタの場合

非永続版リソースアダプタの場合のReliable MessagingでPRFトレースから取得できる情報を次の表に示します。

Reliable Messagingで取得できる情報以外のPRFトレースの情報については,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の性能解析トレースファイルの説明を参照してください。

表9-12 PRFトレースの取得情報(非永続版リソースアダプタの場合)

イベントID 取得情報
Rc INT OPR OPT
0x9300 入口トレースの場合,常に「0」が出力されます。
出口トレースおよび呼び出し後トレースの場合,次のように出力されます。
  • 正常終了:0
  • 異常終了:0以外
トランザクション制御では,XAのエラーコードが出力されます。そのほかのエラー出口では,1が出力されます。
transacted引数に指定した値
次のどちらかが出力されます。
  • true
  • false
acknowledgeMode引数に指定した値
次のどれかが出力されます。※1
  • AUTO_ACKNOWLEDGE
  • DUPS_OK_ACKNOWLEDGE
  • CLIENT_ACKNOWLEDGE
0x9301
0x9302
0x9303
0x9304
0x9305
0x9306
0x9307
0x9308 キュー名称
0x9309 メッセージのJMS_HITACHI_UnitIDプロパティの値,JMSMessageID※5
0x930A キュー名称 メッセージ送信の優先度
0x930B メッセージのJMS_HITACHI_UnitIDプロパティの値,JMSMessageID※5
0x930C キュー名称
0x930D メッセージのJMS_HITACHI_UnitIDプロパティの値,JMSMessageID※5
0x930E キュー名称 メッセージ送信の優先度
0x930F メッセージのJMS_HITACHI_UnitIDプロパティの値,JMSMessageID※5
0x9310 キュー名称 メッセージセレクタ※2
0x9311 メッセージ取得の可否
次のどちらかが出力されます。
  • 取得成功:true
  • 取得失敗:false
メッセージ送信元のルートアプリケーション情報※3
0x9312 キュー名称 タイムアウト値(ミリ秒)
0x9313 メッセージ取得の可否
次のどちらかが出力されます。
  • 取得成功:true
  • 取得失敗:false
メッセージセレクタ※2 メッセージ送信元のルートアプリケーション情報※3
0x9314 キュー名称 メッセージセレクタ※2
0x9315 メッセージ取得の可否
次のどちらかが出力されます。
  • 取得成功:true
  • 取得失敗:false
メッセージ送信元のルートアプリケーション情報※3
0x9316 キュー名称 メッセージセレクタ※2
0x9317 メッセージ送信元のルートアプリケーション情報※3
0x9318 flags引数の値
次のどれかが出力されます。
  • TMNOFLAGS
  • TMJOIN
  • TMRESUME
0x9319
0x931A flags引数の値
次のどれかが出力されます。
  • TMSUCCESS
  • TMFAIL
  • TMSUSPEND
0x931B
0x931C
0x931D
0x931E 1フェーズコミットの有無
次のどちらかが出力されます。
  • true
  • false
0x931F
0x9320
0x9321
0x9322
0x9323
0x9324 flags引数の値
次のどれかが出力されます。
  • TMSTARTRSCAN
  • TMENDRSCAN
  • TMNOFLAGS
0x9325
0x9326
0x9327
0x9328
0x9329
0x932A
0x932B
0x932C
0x932D
0x932E
0x932F
0x9330
0x9331
0x9332
0x9333
0x9335
0x9336 キュー名称 メッセージのJMS_HITACHI_UnitIDプロパティの値,JMSMessageID※5
0x9337※4 メッセージ送信元のルートアプリケーション情報※3
0x9338

(凡例)
−:出力されません。

注※1
AUTO_ACKNOWLEDGE,DUPS_OK_ACKNOWLEDGE,またはCLIENT_ACKNOWLEDGE以外を指定した場合は出力されません。

注※2
文字列が32文字を超える場合,後半が削除されて,前から数えて32文字が出力されます。また,取得できなかった場合は,nullが返されます。

注※3
OPT列に出力されるルートアプリケーション情報(各イベントで一連の処理の先頭になるプロセスで取得した情報)はバイト配列で出力され,ASCII列(OPT列の次の列)にはOPT列に出力されるルートアプリケーション情報のASCII文字列が出力されます。

注※4
正常に処理が終了したときだけ出力されます。エラーが発生したときは出力されません。

注※5
JMS_HITACHI_UnitIDプロパティに空文字(“”),NULL以外の値を指定した場合だけ出力します。また,JMS_HITACHI_UnitIDプロパティとJMSMessageIDの間は半角スペース区切りで出力します。「JMS_HITACHI_UnitIDプロパティ(半角スペース)JMSMessageID」の文字列が256文字を超える場合,後半が削除されて,前から数えて256文字が出力されます。