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