Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 運用と操作


dcalzprf

〈このページの構成〉

名称

性能検証用トレース情報解析

形式

dcalzprf 〔-H ヘッダオプション〔,ヘッダオプション〕〕
〔-L 付加情報オプション〔,付加情報オプション〕〕
〔-x 表示するプロセス数〕
〔-d 起点時刻〕
〔-C 時刻差計算開始イベントID〔,時刻差計算開始イベントID〕...
  -F 時刻差計算終了イベントID〔,時刻差計算終了イベントID〕...〕
〔-o ファイル出力先ディレクトリ〕
〔-T 〔開始時刻〕〔,終了時刻〕〕
〔-r ランID〔,ランID〕...〕
〔-n ノードID〔,ノードID〕...〕
〔-g サービスグループ名〔,サービスグループ名〕...〕
〔-s サービス名〔,サービス名〕...〕
〔-p プロセスID〔,プロセスID〕...〕
〔-v サーバ名〔,サーバ名〕...〕
〔-e イベントID〔,イベントID〕...|-S|-U〕
〔-c 通信番号〔,通信番号〕...〕
〔-G グローバルトランザクションID〔,グローバルトランザクションID〕...〕
〔-f 送信元ノード〔,送信元ノード〕...〕
〔-t 送信先ノード〔,送信先ノード〕...〕
〔-R ルート通信番号〔,ルート通信番号〕...〕
〔-E〕
〔トレースデータファイル名〔 トレースデータファイル名〕...〕

機能

標準入力,または指定されたトレースデータファイルから,性能検証用トレース(prfトレース)情報を入力し,トレース情報を編集出力します。編集結果は,時間とプロセスの関連を表の形式で示したcsv形式でファイル出力します。

このコマンドの使用は,TP1/Extension 1をインストールしていることが前提です。

このコマンドのメインオプション一覧を次に示します。

表13‒1 dcalzprfコマンドのメインオプション一覧

オプション

機能

複数指定

-H

編集結果ファイルのヘッダを変更

-L

編集結果にレコード固有の付加情報を追加

-x

一つのファイルに編集出力するプロセスのカラム数を指定

×

-d

指定した起点時刻から各トレース情報までの時刻差を出力

×

-C

指定したイベントIDのトレース情報と-Fオプションの引数に指定されたイベントIDのトレース情報の時刻差を出力

-F

指定したイベントIDのトレース情報と-Cオプションの引数に指定されたイベントIDのトレース情報の時刻差を出力

-o

編集結果ファイルの出力先ディレクトリを指定

×

(凡例)

○:コンマ区切りで複数の値を指定できます。

×:複数の値の指定はできません。

このコマンドのサブオプション一覧を次に示します。サブオプションによって,編集出力対象とするトレース情報を選択できます。サブオプションを活用することで,出力ファイルサイズを小さくすることができます。

表13‒2 dcalzprfコマンドのサブオプション一覧

オプション

機能

複数指定

-T

指定された時刻内に取得されたトレース情報だけを編集出力

×

-r

指定されたランIDを持つのトレース情報だけを編集出力

-n

指定されたノードIDを持つのトレース情報だけを編集出力

-g

指定されたサービスグループ名を持つトレース情報だけを編集出力

-s

指定されたサービス名を持つのトレース情報だけを編集出力

-p

指定されたプロセスIDの持つのトレース情報だけを編集出力

-v

指定されたサーバ名を持つトレース情報だけを編集出力

-e

指定されたイベントIDを持つトレース情報だけを編集出力

-S

OpenTP1のシステムが出力しているトレース情報だけを編集出力

×

-U

ユーザが出力しているトレース情報だけを編集出力

×

-c

指定されたクライアント通信番号を持つトレース情だけを編集出力

-G

指定されたグローバルトランザクションIDを持つトレース情報だけを編集出力

-f

指定された送信元ノードIDを持つトレース情報だけを編集出力

-t

指定された送信先ノードIDを持つトレース情報だけを編集出力

-R

指定されたルート通信番号を持つトレース情報だけを編集出力

-E

処理がエラーリターンしていることを記録したトレース情報だけを編集出力

×

(凡例)

○:コンマ区切りで複数の値を指定できます。

×:複数の値の指定はできません。

オプションで説明するイベントIDについては,「付録L.1 性能検証用トレースの取得情報」を参照してください。

オプション

●-H pid|name|pid,name

編集結果ファイルのヘッダを変更します。

トレース情報にサーバ名が含まれていない場合,サーバ名を「****」と表示します。

このオプションの指定を省略すると,通番表示となります。

pid

編集結果ファイル内でプロセスごとに割り当てた通番を,プロセスID表示に変更します。

name

編集結果ファイル内でプロセスごとに割り当てた通番を,サーバ名表示に変更します。

pid,name

編集結果ファイル内でプロセスごとに割り当てた通番を,サーバ名(プロセスID)表示に変更します。

●-L MCF|MQ|MCF,MQ

編集結果に,レコード固有の付加情報を追加します。

MCF

TP1/Message Controlのイベント情報で取得されるMCF固有情報から,論理端末名を切り出して出力します。

MQ

TP1/Message Queueイベント情報で取得されるキュー名,メッセージトークン,メッセージ識別子を出力します。

MCF,MQ

TP1/Message Controlのイベント情報で取得されるMCF固有情報から,論理端末名を切り出して出力します。また,TP1/Message Queueのイベント情報で取得されるキュー名,メッセージトークン,メッセージ識別子を出力します。

●-x 表示するプロセス数  〜〈符号なし整数〉((1〜65536))《256》

一つのファイルに編集出力するプロセスのカラム数を指定します。指定を省略すると256が設定されていることを仮定します。

編集対象のprfトレースファイルに,指定した数より多いプロセスが含まれていた場合,複数のファイルに分割して編集出力します。出力ファイル数の計算式を次に示します。

↑P/-x指定値↑

(凡例)

↑↑:値を切り上げます

P:出力対象となるプロセス数

小さい値を指定し,上記の計算式の結果が大きくなりすぎた場合,出力ファイル数の上限により,編集結果ファイルが出力されないことがあります。

必要以上に大きな値を指定した場合,使用する表計算ソフトウェアの表示制限を超える形式でファイルを作成することがあり,編集結果を正しく表示できないときがあります。

●-d 起点時刻

指定した起点時刻から,各トレース情報までの時刻差を出力します。

起点時刻は,設定されているタイムゾーンの下限値(グリニッジ標準時の場合1970年1月1日0時0分0秒)から当年当月当日の現在時刻までの範囲で指定します。

起点時刻は,「hhmmss〔MMDD〔YYYY〕〕」の形式で指定します。

hh:時(00≦hh≦23)

指定を省略できません。

mm:分(00≦mm≦59)

指定を省略できません。

ss:秒(00≦ss≦59)

指定を省略できません。

MM:月(01≦MM≦12)

指定を省略できます。

DD:日(01≦DD≦31)

指定を省略できます。

YYYY:年(西暦を4けたで指定します(1970≦YYYY))

指定を省略できます。

注※

「年」の指定を省略した場合は,当年の指定月日時刻と見なされます。「年,月,日」の指定を省略した場合,当年当月当日の指定時刻と見なされます。「月,日」,「月」,または「日」だけを省略することはできません。省略した場合はオプションエラーになります。「月」または「日」を省略したい場合は,「年」,「月」,「日」のすべてを省略してください。

起点時刻に0を指定した場合("-d 0")は,出力結果ファイルの先頭に出現したトレース情報の取得時刻を起点時刻として,各トレース情報までの時刻差を計算します。

●-C 時刻差算出開始イベントID  〜〈6けたの16進数(先頭の0xを含む)〉

このオプションに指定したイベントIDのトレース情報と,-Fオプションの引数に指定されたイベントIDのトレース情報の時刻差を出力します。-FオプションのイベントIDと重複しないように,セットで指定してください。

時刻差を計算できるのは,一つのプロセスが出力しているトレース情報に出現しているイベントの間ごとになります。二つ以上のプロセス間で出力しているイベントごとの時刻差は計算できません。

複数のイベントIDを指定する場合,イベントIDとイベントIDとの間をコンマ(,)で区切ります。複数イベントIDを指定した場合,該当のイベントIDがトレースから見つかるたびに,時刻差計算の始点を上書きしていきます。

●-F 時刻差算出終了イベントID  〜〈6けたの16進数(先頭の0xを含む)〉

このオプションに指定したイベントIDのトレース情報と,-Cオプションの引数に指定されたイベントIDのトレース情報の時刻差を出力します。-CオプションのイベントIDと重複しないように,セットで指定してください。

時刻差を計算できるのは,一つのプロセスが出力しているトレース情報に出現しているイベントの間ごとになります。二つ以上のプロセス間で出力しているイベントごとの時刻差は計算できません。

複数のイベントIDを指定する場合,イベントIDとイベントIDとの間をコンマ(,)で区切ります。

●-o ファイル出力先ディレクトリ  〜〈パス名〉

prfトレースの編集結果ファイルを出力するディレクトリを指定します。

指定を省略した場合は,カレントディレクトリに編集結果ファイルを出力します。

●-T 〔開始時刻〕〔,終了時刻〕

指定された時刻内に取得されたトレース情報だけを出力します。

開始時刻,および終了時刻は,設定されているタイムゾーンの下限値(グリニッジ標準時の場合1970年1月1日0時0分0秒)から当年当月当日の現在時刻までの範囲で指定します。

開始時刻,または終了時刻のどちらかを必ず指定してください。開始時刻の指定を省略すると,先頭から指定した終了時刻までが出力範囲となります。終了時刻の指定を省略すると,指定した開始時刻から最後までが出力範囲となります。

開始時刻,および終了時刻は,「hhmmss〔MMDD〔YYYY〕〕」の形式で指定します。

hh:時(00≦hh≦23)

指定を省略できません。

mm:分(00≦mm≦59)

指定を省略できません。

ss:秒(00≦ss≦59)

指定を省略できません。

MM:月(01≦MM≦12)

指定を省略できます。

DD:日(01≦DD≦31)

指定を省略できます。

YYYY:年(西暦を4けたで指定します(1970≦YYYY))

指定を省略できます。

注※

開始時刻,または終了時刻の「年」の指定を省略した場合は,当年の指定月日時刻と見なされます。「年,月,日」の指定を省略した場合,当年当月当日の指定時刻と見なされます。「月,日」,「月」,または「日」だけを省略することはできません。省略した場合はオプションエラーになります。「月」または「日」を省略したい場合は,「年」,「月」,「日」のすべてを省略してください。

●-r ランID  〜〈3〜10けたの16進数(先頭の0xを含む)〉

指定されたランIDを持つトレース情報だけを編集出力します。

●-n ノードID  〜〈4文字の識別子〉

指定されたノードIDを持つトレース情報だけを編集出力します。

●-g サービスグループ名  〜〈1〜31文字の識別子〉

指定されたサービスグループ名を持つトレース情報だけを編集出力します。

●-s サービス名  〜〈1〜31文字の識別子〉

指定されたサービス名を持つトレース情報だけを編集出力します。

●-p プロセスID  〜〈符号なし整数〉

指定されたプロセスIDのトレース情報だけを編集出力します。

●-v サーバ名  〜〈1〜8文字の識別子〉

指定されたサーバ名を持つトレース情報だけを編集出力します。

●-e イベントID  〜〈6けたの16進数(先頭の0xを含む)〉

指定されたイベントIDを持つトレース情報だけを編集出力します。

●-S

OpenTP1のシステムが出力しているトレース情報だけを編集出力します。

●-U

ユーザが出力しているトレース情報だけを編集出力します。

●-c 通信番号  〜〈10けたの16進数(先頭の0xを含む)〉

指定されたクライアント通信番号を持つトレース情報だけを編集出力します。

●-G グローバルトランザクションID  〜〈128文字以内の英数字〉

指定されたグローバルトランザクションIDを持つトレース情報だけを編集出力します。

●-f 送信元ノード  〜〈4文字の識別子〉

指定された送信元ノードIDを持つトレース情報だけを編集出力します。

●-t 送信先ノード  〜〈4文字の識別子〉

指定された送信先ノードIDを持つトレース情報だけを編集出力します。

●-R ルート通信番号  〜〈10けたの16進数(先頭の0xを含む)〉

指定されたルート通信番号を持つトレース情報だけを編集出力します。

●-E

処理がエラーリターンしていることを記録したトレース情報だけを出力します。

コマンド引数

●トレースデータファイル名  〜<パス名>

性能検証用トレースファイルを指定します。トレースデータファイル名の指定がない場合,標準入力からデータを入力します。また,複数のファイルを指定した場合は,取得時刻順に並べ替えて出力することができます。

出力形式

dcalzprfコマンドでは,編集したトレース情報を編集結果ファイルに出力します。

編集結果ファイル名は「prfdataX.csv」です。Xの範囲は,0から次に示す値までです。出力先ディレクトリに,編集結果ファイル名(prfdataX.csv)と同名のファイルがある場合は,内容を上書きします。

(凡例)

↑↑:値を切り上げます。

P:出力対象となるプロセス数

「-C,-F」「-d」「-H pid,name」「-L MCF,MQ」の各オプションを指定したときの性能検証用トレースファイルの出力形式を次に示します。

図13‒1 性能検証用トレースファイルの出力形式

[図データ]

(凡例)

1,2,および3:1行で表示します。

性能検証用トレースファイルの出力形式を,表計算ソフトで表示したときの例を次に示します。

図13‒2 性能検証用トレースファイルの出力形式(表計算ソフトで表示)

[図データ]

性能検証用トレースファイルの出力条件とヘッダの詳細を次に示します。

表13‒3 性能検証用トレースファイルの出力条件とヘッダの詳細

出力条件

ヘッダ

内容

共通

Date

aaaa:トレースを取得した時刻(年)

bb:トレースを取得した時刻(月)

cc:トレースを取得した時刻(日)

共通

Time

dd:トレースを取得した時刻(時)

ee:トレースを取得した時刻(分)

ff:トレースを取得した時刻(秒)

共通

under-Sec

gggggg:トレースを取得した時刻(マイクロ秒で6けた)

共通

Node-id

hhhh:ノードID(4文字)

-C-Fオプション指定時

Diff

ii...ii:-C-Fオプションに指定されたイベントID間の時刻差(マイクロ秒で16けた以内)(-Fに設定したイベントIDの行に出力されます)

-dオプション指定時

Total

jj...jj:-dオプションに指定した起点時刻から各トレース情報の時刻差(マイクロ秒で16けた以内)(起点時刻を省略した場合は編集出力ファイルごとの先頭トレース情報が起点時刻になります)

-Hオプション省略時

1,2,...,256※1

kk...kk:イベントID(詳細については「付録L.1 性能検証用トレースの取得情報」を参照)

-H pid指定時

ll...ll※2

-H name指定時

nn...nn※2,※3

-H pid,name指定時

nn...nn(ll...ll)※2,※3

共通

pid

ll...ll:プロセスID(10進10けた以内)

共通

Trace

mm...mm:該当プロセスでのトレース通番(10進5けた以内)

共通

Server-name

nn...nn:イベントの発生したサーバ名(8文字以内)

共通

rc

oo...oo:リターンコード(10進11けた以内(先頭の符号を含む))

共通

clt

pppp:クライアントOpenTP1識別子(4文字)

qqqqqqqqqq:クライアント通信番号(16進10けた(先頭の0xを含む))

共通

server

rrrr:サーバOpenTP1識別子(4文字)

共通

root

ssss:ルートOpenTP1識別子(4文字)

tttttttttt:ルート通信番号(16進10けた(先頭の0xを含む))

共通

svg

uu...uu:サービスグループ名(32文字以内)

共通

svc

vv...vv:サービス名(32文字以内)

共通

trn

ww...ww:グローバルトランザクションID(128文字以内)

xxxxxxxxxxxxxxxx:ブランチID(16文字)

共通

XA

xx...xx:イベント種別(75文字以内)※4

共通

JNL

yy:ジャーナル種別(2文字)※5

-L MQ指定時

Que-name

zz...zz:TP1/Message Queueを利用した際のキュー名(48文字以内)※6

Msg-Token

AA...AA:TP1/Message Queueを利用した際のメッセージトークン(16進18けた(先頭の0xを含む))※6

Msg-ID

BB...BB:TP1/Message Queueを利用した際のメッセージ識別子

(16進66けた(先頭の0xを含む))※6

-L MCF指定時

MCFData1

CC...CC:TP1/Message Controlを利用した際の論理端末名(8文字以内)※7

MCFData2

DD...DD:TP1/Message Controlを利用した際のUOC,API名,ジャーナル種別などの情報(8文字以内)※7

共通

Bin

EE...EE:詳細情報の16進数字列(8文字ごとの△(半角スペース)を含む,575文字以内)※8

共通

Ascii

"FF...FF":詳細情報のアスキー文字列(256文字以内)※8

トレースで取得されていない項目は「**...**」で表示されます。

注※1

コマンドに指定した性能検証用トレースファイルに含まれていたプロセスに振られた通番です。デフォルトでは一つの出力結果ファイルで1〜256が出力されます。-xオプションで1ファイル当たりの上限値を変更できます。

注※2

デフォルトでは一つの出力結果ファイルで256個のカラムが出力され,-xオプションで1ファイル当たりのカラム数を変更できます。トレースファイル上のプロセス数がカラム数未満の場合は,カラム数に満たない残りのヘッダおよび内容が空となります。

注※3

トレース情報にサーバ名が含まれていない場合,サーバ名を「****」と表示します。

注※4

trn_prf_event_trace_conditionオペランドにxafuncを指定した場合は,XA関数名が出力されます。

trn_prf_event_trace_conditionオペランドにtrnserviceを指定した場合は,次に示すイベント種別が出力されます。

表13‒4 trn_prf_event_trace_conditionオペランドにtrnserviceを指定した場合の出力イベント種別

イベント

タイミング

イベント種別

トランザクション管理サービス

開始中

trnd starting

開始完了

trnd started

終了中

trnd ending

終了完了

trnd ended

トランザクション回復サービス

開始中

trnrvd starting

開始完了

trnrvd started

回復開始

trnrvd recovery started

回復終了

trnrvd recovery ended

終了中

trnrvd ending

終了完了

trnrvd ended

リソースマネジャ監視サービス

開始中

trnrmd starting

開始完了

trnrmd started

終了中

trnrmd ending

終了完了

trnrmd ended

注※5

イベントIDが0xc001の場合だけ出力します。1文字目はジャーナル種別の1文字目(例:CJの場合は'C'),2文字目は保守情報を示します。

注※6

イベントIDが0xdで始まるものだけ出力します。それ以外は「**...**」で出力します。

注※7

イベントIDが0xaで始まるものだけ出力します。それ以外は「**...**」で出力します。

注※8

システムまたはユーザによる固有データが含まれないレコードでは出力されません。

dcalzprfコマンドでは編集出力ファイルとは別に,編集出力ファイルごとに割り振られたプロセスの通番と,実際のプロセスの情報の関連一覧を,標準出力に表示します。

形式は次のとおりです。

[図データ]

出力メッセージ

メッセージID

内容

出力先

KFCA01861-E

コマンドでエラーが発生しました

標準エラー出力

KFCA01882-E

コマンドの引数に誤りがあります

標準エラー出力

KFCA33303-E

ファイルのオープンに失敗しました

標準エラー出力

KFCA33304-E

ファイルのアクセス中に障害が発生しました

標準エラー出力

KFCA33305-E

ファイルの書き込みに失敗しました

標準エラー出力

KFCA33307-I

ヘルプメッセージ

標準出力

KFCA33308-W

条件に合致するトレースデータがありません

標準エラー出力

注意事項