2.4.4 JMSPRFトレースファイルの取得形式

JMSPRFトレースファイルには,性能検証用の情報が出力されます。

JMSPRFトレースを編集するには,Cosminexus Performance Tracerをインストールする必要があります。また,トレース情報の強制ファイル出力(cprfflushコマンド),およびトレース情報ファイルの編集出力(cprfedコマンド)については,マニュアル「Cosminexus リファレンス コマンド編」を参照してください。

ここでは,JMSPRFトレースの取得レベルとイベントIDごとの取得内容について説明します。

<この項の構成>
(1) 取得レベル
(2) 取得ポイント
(3) イベントIDごとの取得内容
(4) 表示形式

(1) 取得レベル

JMSPRFトレースファイルでは取得レベルを指定できます。デフォルトは「レベル1」です。

(2) 取得ポイント

トレース情報が取得されたタイミングは,出力されたイベントIDで識別します。イベントIDおよびTP1/Message Queue - AccessのJMSPRFトレース情報の取得ポイントを次の表に示します。

表2-14 JMSPRFトレース情報の取得ポイント

イベントIDトレース取得ポイント詳細情報データ長
(単位:バイト)
0x9200send(message only)の入口0
0x9210send(message only)の出口152
0x9201send(message and 3 parameters)の入口0
0x9211send(message and 3 parameters)の出口152
0x9202send(queue, message)の入口0
0x9212send(queue, message)の出口152
0x9203send(queue, message and 3 parameters)の入口0
0x9213send(queue, message and 3 parameters)の出口152
0x9204receive()の入口0
0x9214receive()の出口152
0x9205receive(long timeout)の入口0
0x9215receive(long timeout)の出口152
0x9206receiveNoWait()の入口0
0x9216receiveNoWait()の出口152
0x9207nextElement()の入口0
0x9217nextElement()の出口152
0x92A0キュー監視スレッド・MQCONNの入口0
0x92B0キュー監視スレッド・MQCONNの出口152
0x92A1キュー監視スレッド・MQOPENの入口0
0x92B1キュー監視スレッド・MQOPENの出口152
0x92A2キュー監視スレッド・MQGET(検索)の入口※10
0x92B2キュー監視スレッド・MQGET(検索)の出口※2152
0x92A3キュー監視スレッド・MQGET(削除)の入口0
0x92B3キュー監視スレッド・MQGET(削除)の出口152
0x92A4キュー監視スレッド・MQGET(ガーベッジ)の入口0
0x92B4キュー監視スレッド・MQGET(ガーベッジ)の出口152
0x92A5キュー監視スレッド・MQCLOSEの入口0
0x92B5キュー監視スレッド・MQCLOSEの出口152
0x92A6キュー監視スレッド・MQDISCの入口0
0x92B6キュー監視スレッド・MQDISCの出口152
0x92A7キュー監視スレッド・MQBEGINの入口0
0x92B7キュー監視スレッド・MQBEGINの出口152
0x92A8キュー監視スレッド・MQCMITの入口0
0x92B8キュー監視スレッド・MQCMITの出口152
0x92A9キュー監視スレッド・MQBACKの入口0
0x92B9キュー監視スレッド・MQBACKの出口152
0x92AAキュー監視スレッド・onMessageの入口0
0x92BAキュー監視スレッド・onMessageの出口152
0x92ABキュー監視スレッド・beforeDeliveryの入口0
0x92BBキュー監視スレッド・beforeDeliveryの出口152
0x92ACキュー監視スレッド・afterDeliveryの入口0
0x92BCキュー監視スレッド・afterDeliveryの出口152
注※1
前回のMQGET(検索)の理由コードに,MQRC_NO_MSG_AVAILABLEが返された場合,MQGET(検索)が繰り返し実行されますが,その場合,0x92A2のトレースファイルは取得されません。
注※2
MQGET(検索)の理由コードにMQRC_NO_MSG_AVAILABLEが返された場合,スレッド終了時を除いて0x92B2のトレースファイルは取得されません。

(3) イベントIDごとの取得内容

JMSPRFトレースファイルのイベントIDごとの取得内容を,次の表に示します。メッセージ識別子または相関識別子によって,MQCサーバでのメッセージを特定できます。

表2-15 JMSPRFトレースファイルのイベントIDごとの取得内容

イベントIDリターンコードインタフェース名※2オペレーション名※2詳細情報※1
キュー名称(48)メッセージ識別子(32)相関識別子(32)ユーザデータ(32)コネクションハンドル(4)オブジェクトハンドル(4)
0x9200
0x9210
0x9201
0x9211
0x9202
0x9212
0x9203
0x9213
0x9204
0x9214
0x9205
0x9215
0x9206
0x9216
0x9207
0x9217
0x92A0
0x92B0
0x92A1
0x92B1
0x92A2
0x92B2
0x92A3
0x92B3
0x92A4
0x92B4
0x92A5
0x92B5
0x92A6
0x92B6
0x92A7
0x92B7
0x92A8
0x92B8
0x92A9
0x92B9
0x92AA
0x92BA
0x92AB
0x92BB
0x92AC
0x92BC
(凡例)
○:情報を取得します。
▲:情報を取得しますが,エラーの場合は無効な値です。
△:情報を取得しますが,常に無効な値です。
-:情報を取得しません。
注※1
cprfedコマンドに-Dumpまたは-CSVを指定した場合に出力される情報,および出力順序を示します。括弧内は,取得バイト数です。
注※2
出力される文字数の詳細については,マニュアル「Cosminexus リファレンス コマンド編」の「cprfed(性能解析トレース情報の編集出力)」の「出力形式」を参照してください。

(4) 表示形式

(a) JMSPRFトレース情報の表示形式

取得したトレース情報はcprfedコマンドで出力される次の形式に対応します。

 

 

(b) JMSPRFトレースファイル個別情報の表示形式

cprfedコマンドの-Dumpオプション(詳細情報をダンプ形式で出力),または-CSVオプション(詳細情報をCSV形式で出力)で表示される詳細情報は,OPTに連続して表示されます。

・キュー名称
 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(キュー名称(48バイト))
 合計48バイト
 キュー名称が48バイト以下の場合,後ろが「¥0」で埋められます。
・メッセージ識別子
 bbbbbbbbbbbbbbbbbbbbbbbb(メッセージ識別子(24バイト) +
 ”¥0¥0¥0¥0¥0¥0¥0¥0”)
 合計32バイト
 接頭辞が「ID:」で始まる場合,取得する情報は「ID:」以降の24バイトと
 なります。
・相関識別子
 cccccccccccccccccccccccc(相関識別子(24バイト) +
”¥0¥0¥0¥0¥0¥0¥0¥0”)
 合計32バイト
 接頭辞が「ID:」で始まる場合,取得する情報は「ID:」以降の24バイトと
 なります。
・ユーザデータ
 dddddddddddddddddddddddddddddddd(ユーザデータ先頭32バイト)
 合計32バイト
  ユーザデータが32バイト以下の場合,後ろが「¥0」で埋められます。
・コネクションハンドル
 eeeeeeee(コネクションハンドル,4バイト16進情報)
 合計4バイト
・オブジェクトハンドル
 ffffffff(オブジェクトハンドル,4バイト16進情報)
 合計4バイト