9.1.6 PRFトレース

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

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

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

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

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

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

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

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

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

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

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

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

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

Cosminexus RMで取得できる情報以外のPRFトレースの情報については,マニュアル「Cosminexus 機能解説 保守/移行/互換編」の性能解析トレースファイルの説明を参照してください。

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

イベントID取得情報
RcINTOPROPT
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
0x9378flags引数の値
次のどれかが出力されます。
  • TMNOFLAGS
  • TMJOIN
  • TMRESUME
0x9379
0x937Aflags引数の値
次のどれかが出力されます。
  • TMSUCCESS
  • TMFAIL
  • TMSUSPEND
0x937B
0x937C
0x937D
0x937E1フェーズコミットの有無
次のどちらかが出力されます。
  • true
  • false
0x937F
0x9380
0x9381
0x9382
0x9383
0x9384flags引数の値
次のどれかが出力されます。
  • 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以前のバージョンのCosminexus RMで登録されたメッセージ
・共用キューに登録されたメッセージ
・BytesContainerを利用して転送されたメッセージ
・デッドメッセージキューから再登録されたメッセージ
注※4
正常に処理が終了したときだけ出力されます。エラーが発生したときは出力されません。
注※5
JMS_HITACHI_UnitIDプロパティに空文字(“”),NULL以外の値を指定した場合だけ出力します。また,JMS_HITACHI_UnitIDプロパティとJMSMessageIDの間は半角スペース区切りで出力します。「JMS_HITACHI_UnitIDプロパティ(半角スペース)JMSMessageID」の文字列が255文字を超える場合,後半が削除されて,前から数えて255文字が出力されます。

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

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

Cosminexus RMで取得できる情報以外のPRFトレースの情報については,マニュアル「Cosminexus 機能解説 保守/移行/互換編」の性能解析トレースファイルの説明を参照してください。

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

イベントID取得情報
RcINTOPROPT
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
0x9318flags引数の値
次のどれかが出力されます。
  • TMNOFLAGS
  • TMJOIN
  • TMRESUME
0x9319
0x931Aflags引数の値
次のどれかが出力されます。
  • TMSUCCESS
  • TMFAIL
  • TMSUSPEND
0x931B
0x931C
0x931D
0x931E1フェーズコミットの有無
次のどちらかが出力されます。
  • true
  • false
0x931F
0x9320
0x9321
0x9322
0x9323
0x9324flags引数の値
次のどれかが出力されます。
  • 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」の文字列が255文字を超える場合,後半が削除されて,前から数えて255文字が出力されます。