Hitachi

Cosminexus V11 アプリケーションサーバ 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) トレース取得ポイント

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文字が出力されます。