2.11.7 性能解析トレース

性能解析トレース(PRFトレース)情報とは,Cosminexus Application Serverのトレース情報です。性能解析トレースを取得すると,UAP実行時の,一連の処理の流れおよび処理に掛かった時間を知ることができ,性能解析に必要な情報を採取できます。また,障害が発生したときに,処理がどこまで到達したかを知ることができます。

性能解析トレースの概要および使用方法の詳細については,マニュアル「Cosminexus 機能解説」,マニュアル「Cosminexus システム運用ガイド」を参照してください。ここでは,TP1/Client/JをCosminexus Application Server上で動作させた場合の性能解析トレースの使用方法,性能解析トレースの取得情報,およびトレース取得ポイントについて説明します。

<この項の構成>
(1) Cosminexus Application Serverでの性能解析トレースの出力
(2) Cosminexus Application ServerとOpenTP1とのトレースの照合
(3) 性能解析トレースの取得情報
(4) 性能解析トレースのトレース取得ポイント
(5) UAPトレースに出力される性能解析トレースの識別情報

(1) Cosminexus Application Serverでの性能解析トレースの出力

TP1/Client/Jでは,TP1/Client/JをCosminexus Application Server上で動作させた場合に,Cosminexus Application Server上で性能解析トレースを出力できます。性能解析トレースは,TP1/Client/Jのトレース取得ポイントで取得されます。性能解析トレースを取得する場合は,TP1/Client/J環境定義にdccltprftrace=Yを指定します。

Cosminexus Application Server上で性能解析トレースを出力する場合,TP1/Client/Jが取得する情報の分だけ,出力される性能解析トレースのサイズが大きくなることを考慮して,性能解析トレースのサイズを指定してください。

(2) Cosminexus Application ServerとOpenTP1とのトレースの照合

TP1/Serverに対して,ネームサービスを使用したRPC,およびスケジューラダイレクト機能を使用したRPCを行う場合は,スケジューラに送信するRPC電文中に,TP1/Client/Jのインスタンスごとにほぼ一意となる識別情報(IPアドレスなど)を付加できます。付加した情報は,OpenTP1の性能検証用トレースで出力します。このOpenTP1の性能検証用トレースと,Cosminexus Application Serverの性能解析トレースとを照合することによって,Cosminexus Application ServerとOpenTP1との間の,一連の処理の流れを知ることができます。また,バージョン07-02以降のTP1/Serverに対して,リモートAPI機能を使用したRPCを行う場合は,スケジューラに送信するRPC電文中への識別情報(IPアドレスなど)を付加できます。

OpenTP1の性能検証用トレースに識別情報を付加する場合は,TP1/Client/J環境定義にdccltprfinfosend=Yを指定します。OpenTP1の性能検証用トレースの詳細については,マニュアル「OpenTP1 解説」を参照してください。

(3) 性能解析トレースの取得情報

TP1/Client/Jで取得した情報は,性能解析トレースの付加情報部分に出力されます。性能解析トレースに取得する情報,およびトレースの出力例を次に示します。

性能解析トレースに取得する情報
ノードID:_Jaa(4バイトの英数字)
aa:ランダムな2文字の英数字(数字(0~9)またはアルファベット(A~Z,a~z))
ルート通信通番部分:bbbbbbbb(4バイトの16進数字)
bbbbbbbb:IPアドレス
RPC通信通番:ccccdddd(4バイトの16進数字)
cccc:ランダムな2バイトの16進数字
dddd:通信通番
Cosminexus Application Serverで性能解析トレースを出力する場合の出力例

...    OPT       ASCII
...    16進表示  _Jaa/0xbbbbbbbb/0xccccdddd...

OpenTP1の性能検証用トレースに識別情報を付加する場合の出力例
[図データ]

(4) 性能解析トレースのトレース取得ポイント

TP1/Client/Jの性能解析トレースの,トレース取得ポイントの詳細を,処理ごとに説明します。

(a) rapリスナーとのコネクション確立,切断処理

rapリスナーとのコネクション確立,切断処理でのイベントID,トレース取得ポイント,付加情報および性能解析トレース取得レベルについて,次の表に示します。

表2-45 rapリスナーとのコネクション確立,切断処理でのトレース取得ポイントの詳細

イベントID図中の番号※1トレース取得ポイント付加情報※2レベル
0x91801rapリスナーへのコネクション確立処理前要求先の情報(ホスト名,ポート番)A
0x91812rapリスナーへのコネクション確立処理後(エラー時だけ取得)内部リターンコードA
0x9182※33rapリスナーへの接続要求データの送受信後内部リターンコードA
0x91834rapリスナーへの切断要求データの送受信前A
0x91845rapリスナーへの切断要求データの送受信後内部リターンコードA
(凡例)
A:標準
-:該当なし
注※1
図2-33中の番号と対応しています。
注※2
Cosminexus Application Serverの性能解析トレースに付加する情報です。
注※3
コネクション確立処理がエラーとなってイベントID0x9181が取得された場合,このイベントIDのトレースは取得されません。

rapリスナーとのコネクション確立,切断処理でのトレース取得ポイントを次の図に示します。

図2-33 rapリスナーとのコネクション確立,切断処理でのトレース取得ポイント

[図データ]

(b) リモートAPI機能でのAPI代理実行要求

リモートAPI機能でのAPI代理実行要求でのイベントID,トレース取得ポイント,付加情報および性能解析トレース取得レベルについて,次の表に示します。

表2-46 リモートAPI機能でのAPI代理実行要求でのトレース取得ポイントの詳細

イベントID図中の番号※1トレース取得ポイント付加情報※2レベル
0x91901dc_rpc_callの代理実行の要求処理前A
0x91912dc_rpc_callの代理実行の要求処理後内部リターンコードA
0x91921dc_trn_beginの代理実行の要求処理前A
0x91932dc_trn_beginの代理実行の要求処理後内部リターンコードA
0x91941dc_trn_chained_commitの代理実行の要求処理前A
0x91952dc_trn_chained_commitの代理実行の要求処理後内部リターンコードA
0x91961dc_trn_chained_rollbackの代理実行の要求処理前A
0x91972dc_trn_chained_rollbackの代理実行の要求処理後内部リターンコードA
0x91981dc_trn_unchained_commitの代理実行の要求処理前A
0x91992dc_trn_unchained_commitの代理実行の要求処理後内部リターンコードA
0x919A1dc_trn_unchained_rollbackの代理実行の要求処理前A
0x919B2dc_trn_unchained_rollbackの代理実行の要求処理後内部リターンコードA
(凡例)
A:標準
-:該当なし
注※1
図2-34中の番号と対応しています。
注※2
Cosminexus Application Serverの性能解析トレースに付加する情報です。

リモートAPI機能でのAPI代理実行要求でのトレース取得ポイントを次の図に示します。

図2-34 リモートAPI機能でのAPI代理実行要求でのトレース取得ポイント

[図データ]

(c) スケジュールサーバへのRPC

スケジュールサーバへのRPCでのイベントID,トレース取得ポイント,付加情報および性能解析トレース取得レベルについて,次の表に示します。

表2-47 スケジュールサーバへのRPCでのトレース取得ポイントの詳細

イベントID図中の番号※1トレース取得ポイント付加情報※2レベル
0x91C01スケジュールサーバへのコネクション確立処理前サービス要求先ホストの情報(ホスト名,ポート番号)A
0x91C12スケジュールサーバへのRPCのサービス要求処理の実行後内部リターンコードA
0x91C2※33SPPまたはスケジュールサーバからの応答データを受け取るコネクションの接続要求を受け付け後内部リターンコード※4A
0x91C34ネームサーバへのコネクション確立処理前サービス要求先ホストの情報(ホスト名,ポート番号)B
0x91C45ネームサーバへのサービス情報の問い合わせ処理の実行後内部リターンコードB
0x91C5※36ネームサーバからの応答データを受け取るコネクションの接続要求受け付け後内部リターンコード※5B
(凡例)
A:標準
B:詳細
注※1
図2-35および図2-36中の番号と対応しています。
注※2
Cosminexus Application Serverの性能解析トレースに付加する情報です。
注※3
要求データの送信が正常終了した場合に,このイベントIDのトレースは取得されます。
注※4
SPPまたはスケジュールサーバからの応答データを受け取るコネクションの接続要求の受け付けが正常終了した場合は,接続元情報(IPアドレス,ポート番号)も付加します。
注※5
ネームサーバからの応答データを受け取るコネクションの接続要求の受け付けが正常終了した場合は,接続元情報(IPアドレス,ポート番号)も付加します。

スケジュールサーバへのRPC要求でのトレース取得ポイントを次の図に示します。

図2-35 スケジュールサーバへのRPC要求でのトレース取得ポイント

[図データ]

ネームサーバへのサービス情報の問い合わせでのトレース取得ポイントを次の図に示します。

図2-36 ネームサーバへのサービス情報の問い合わせでのトレース取得ポイント

[図データ]

(d) API実行処理

API実行処理でのイベントID,トレース取得ポイント,付加情報および性能解析トレース取得レベルについて,次の表に示します。

表2-48 API実行処理でのトレース取得ポイントの詳細

イベントIDトレース取得ポイント付加情報※1レベル
0x91D0openConnectionメソッドの入り口A
0x91D1openConnectionメソッドの出口内部リターンコードA
0x91D2closeConnectionメソッドの入り口A
0x91D3closeConnectionメソッドの出口内部リターンコードA
0x91D4rpcCallメソッドの入り口inlenA
0x91D5rpcCallメソッドの出口outlen,内部リターンコードA
0x91D6rpcCallToメソッドの入り口inlenA
0x91D7rpcCallToメソッドの出口outlen,内部リターンコードA
0x91D8trnBeginメソッドの入り口A
0x91D9trnBeginメソッドの出口内部リターンコード※2A
0x91DAtrnChainedCommitメソッドの入り口A
0x91DBtrnChainedCommitメソッドの出口内部リターンコード※2A
0x91DCtrnChainedRollbackメソッドの入り口A
0x91DDtrnChainedRollbackメソッドの出口内部リターンコード※2A
0x91DEtrnUnchainedCommitメソッドの入り口A
0x91DFtrnUnchainedCommitメソッドの出口内部リターンコードA
0x91E0trnUnchainedRollbackメソッドの入り口A
0x91E1trnUnchainedRollbackメソッドの出口内部リターンコードA
(凡例)
A:標準
-:該当なし
注※1
Cosminexus Application Serverの性能解析トレースに付加する情報です。
注※2
トランザクションの開始時は,トランザクショングローバル識別子,およびトランザクションブランチ識別子も付加します。

(5) UAPトレースに出力される性能解析トレースの識別情報

TP1/Client/Jでは,TP1/ServerやCosminexusの性能解析トレースの情報と,TP1/Client/Jのトレースの情報を結び付けるために,UAPトレースの出口情報の末尾に,性能解析トレースの識別情報を出力します。

UAPトレースに性能解析トレースの識別情報を出力する,メソッドを次に示します。

なお,性能解析トレースの識別情報は,TP1/Client/J環境定義dccltprfinfosendオペランドの指定値に関係なく出力されます。

性能解析トレースの識別情報を出力した,UAPトレースの出力例を次に示します。太字で示す部分が,性能解析トレースの識別情報です。

2008/09/01 16:37:24.698  Location = Out  ThreadName = main
MethodName = TP1Client.rpcCall
Exception  =
ADDRESS   +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +a +b +c +d +e +f  0123456789abcdef
00000000  00 00 00 1c 53 75 7a 75 6b 69 00 00 00 00 00 00  ....Suzuki......
00000010  00 00 00 00 00 00 00 00 00 00 00 00 51 00 00 00  ............Q...
00000020  5f 4a 30 6d 2f 30 78 30 61 64 31 30 66 37 63 2f  _J0m/0x0ad10f7c/
00000030  30 78 32 62 35 64 30 30 30 31                    0x2b5d0001