5.3.1 cprfed
性能解析トレース情報の編集出力
書式
cprfed [-h]|[-Dump|-CSV] [-Time 開始時刻,終了時刻] [-ProcessID プロセスID[,プロセスID...]] [-TraceFile PRFトレースファイル名[,PRFトレースファイル名...] |-AllTraceFile] [-Compact] [-AscLen ASCII表示文字数]
格納先
Application Serverインストールディレクトリー/common/PRF/bin/
機能
PRFトレース情報を入力して、性能解析トレース情報を編集出力します。
PRFデーモンが起動している場合は、先にcprfflushコマンドを実行してバッファー内のトレース情報を書き出してからこのコマンドを実行してください。
実行権限
次の権限を持つユーザー
-
PRFを取得するプロセスと同じユーザーまたはスーパーユーザー
-
同じPRFSPOOL環境変数を使用する環境内では、スーパーユーザーとほかのユーザーが混在してPRFコマンドを実行できません。常に同じユーザーでPRFコマンドを実行する必要があります。
環境変数
-
PATH
Application Serverインストールディレクトリー/common/PRF/bin、および/binを追加してください。
-
LD_LIBRARY_PATH(Linux)
Application Serverインストールディレクトリー/common/PRF/libを指定してください。
-
LIBPATH(AIX)
Application Serverインストールディレクトリー/common/PRF/libを指定してください。
-
PRFSPOOL
PRFデーモンの実行環境ディレクトリーを設定します。
PRFSPOOL環境変数は、ドメイン管理サーバがJavaEEサーバ、クラスターを起動するとき、ドメイン管理サーバによって設定されます。PRFSPOOL環境変数は、JavaEEサーバを関連元とするPRF関連がある場合、関連先のPRF名を基に、次の形式で設定されます。
"JavaEEサーバ構築先ノードのJava EE Serverログ出力先ディレクトリー/nodes/ノード名/PRF名"
-
TZ(UNIX)
タイムゾーンを設定します。日本標準時の場合はJST-9を指定します。
-
PSALLOC(AIX)
メモリー確保時に必要なページングスペースをすぐに確保する設定にします。
earlyを設定してください。
-
NODISCLAIM(AIX)
free()に対するコールの処理方法として、disclaim()の発行を抑止する設定にします。
trueを設定してください。
-
EXTSHM(AIX)
プロセス空間の共有メモリー領域数の制限をなくす設定にします。
ONを設定してください。
-
LDR_CNTRL(AIX)
カーネルの従来の区分化より大きいデータエリアを扱えるようにするための設定です。
MAXDATA=0x40000000を指定してください。
引数
- -h
-
コマンドの使用方法を表示します。
- -Dump
-
詳細情報をダンプ形式で出力します。
- -CSV
-
詳細情報をCSV形式で出力します。
- -Time 開始時刻,終了時刻
-
指定された時刻内に取得されたトレース情報だけを出力します。
開始時刻、終了時刻は、hhmmss[MMdd[yyyy]]形式で指定します。MMdd、yyyyは省略できます。省略した場合は、コマンドを実行した月日年が指定されます。
時刻の文字列の形式:hhmmss[MMdd[yyyy]]
hh:時(00〜23)
mm:分(00〜59)
ss:秒(00〜59)
MM:月(01〜12)
dd:日(01〜31)
yyyy:年(1970〜20xx)
2003年10月11日にコマンドを実行した場合の引数の指定例とその編集範囲の例を次に示します。
引数の指定
編集範囲
-Time 102345,
2003年10月11日10時23分45秒からトレースファイルの最後まで。
-Time ,102345
トレースファイルの最初から2003年10月11日10時23分45秒まで。
-Time 102345,102350
2003年10月11日10時23分45秒から2003年10月11日10時23分50秒まで。
-Time 1023451012,1023501013
2003年10月12日10時23分45秒から2003年10月13日10時23分50秒まで。
-Time 10234510122002,10235010132002
2002年10月12日10時23分45秒から2002年10月13日10時23分50秒まで。
- -ProcessID プロセスID
-
指定されたプロセスIDの情報だけを編集出力します。プロセスIDは10進数で指定してください。
- -TraceFile PRFトレースファイル名
-
PRFトレースファイルを指定します。トレースファイルは最大256個指定できます。このオプションは、-AllTraceFileオプションと同時に指定できません。
PRFトレースファイルは、PRFトレースファイル出力先ディレクトリーに自動的に作成され、ファイル名はprf_???になります。???は、001からトレースファイルの面数を最大値とした整数です。
PRFトレースファイル出力先ディレクトリー
$PRFSPOOL/utt/prf/PRF識別子/dcopltrc/
また、PRFトレースファイル名を指定する場合は、絶対パスを指定するか、PRFトレースファイル出力先ディレクトリーに移動してから、ファイル名だけを指定します。
- -AllTraceFile
-
カレントディレクトリー下のすべてのファイルを入力ファイルとして読み込みます。このオプションは、-TraceFileオプションと同時に指定できません。カレントディレクトリーに256を超える数のファイルがある場合は256ファイルだけ編集します。なお、cprfedコマンドの結果をカレントディレクトリーにリダイレクトする場合は、リダイレクト先のファイルも入力ファイルとして数えます。
- -Compact
-
次の項目のトレース出力を長さ0の文字列にします。
Client AP IP/Client AP PID/Client AP CommNo./OPT/ASCII
-CSVオプションと組み合わせて使用する必要があります。-CSVオプションを指定しない場合、このオプションは無視されます。
- -AscLen ASCII表示文字数
-
ダンプ情報のうちのASCII出力項目の最大出力文字数を指定します。省略した場合は長さ0の文字列にします。
ASCII出力項目の内容は常にダブルクォーテーションで囲まれます。値1を指定した場合、ダブルクォーテーション分が加算され、3文字出力されます。ただし、ASCII出力項目に出力情報がない場合は長さ0の文字列になります。
-Compactオプションと組み合わせて使用する必要があります。-Compactオプションを指定しない場合、このオプションは無視され、ASCII出力項目の内容はすべて表示されます。
指定できる値を次に示します。
-
0〜512
デフォルト値:0
-
指定できるコマンドオプションの組み合わせの一覧を次に示します。
コマンドオプション |
-h |
-Dump |
-CSV |
-Time |
-ProcessID |
-TraceFile |
-AllTraceFile |
-Compact |
---|---|---|---|---|---|---|---|---|
-Dump |
△-h |
− |
− |
− |
− |
− |
− |
− |
-CSV |
△-h |
△-CSV |
− |
− |
− |
− |
− |
− |
-Time |
△-h |
○ |
○ |
− |
− |
− |
− |
− |
-ProcessID |
△-h |
○ |
○ |
○ |
− |
− |
− |
− |
-TraceFile |
△-h |
○ |
○ |
○ |
○ |
− |
− |
− |
-AllTraceFile |
△-h |
○ |
○ |
○ |
○ |
× |
− |
− |
-Compact |
△-h |
△-Dump |
○ |
○ |
○ |
○ |
○ |
− |
-AscLen |
△-h |
△-Dump |
○ |
○ |
○ |
○ |
○ |
○ |
- (凡例)
-
○:同時に指定できます。
△:△のあとに続くオプション名のオプションが有効になります。
×:同時に指定できません。
−:該当しません。
戻り値
戻り値 |
説明 |
---|---|
0 |
正常終了しました。 |
0以外 |
コマンド処理中にエラーが発生しました。出力されたメッセージに従って対策したあと、再度コマンドを実行してください。エラーメッセージは標準エラー出力、ログファイルに出力します。 |
出力形式
出力形式1(ダンプ形式)
PRF: aaaaaa Process: bbbbbbbbbb Thread: cccccccccc(CC..CC) Trace: dddddddddd ProcessName: vv..vv Event: eeeee Time: ffff/gg/hh ii:jj:kk lll/mmm/nnn Rc: oo..oo ClientAP:pp..pp qq..qq - rr..rr RootAP: ss..ss tt..tt - uu..uu INT: XX..XX OPR: YY..YY Offset +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +a +b +c +d +e +f 0123456789abcdef AAAA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AAAAAAAAAAAAAAAA AAAA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AAAAAAAAAAAAAAAA : AAAA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AAAAAAAAAAAAAAAA
出力形式2(CSV形式)
PRF,Process,Thread(hashcode),Trace,ProcessName,Event,Date,Time,Time(msec/usec/nsec),Rc,ClientAP IP,ClientAP PID, ClientAP CommNo.,RootAP IP,RootAP PID,RootAP CommNo.,INT,OPR,OPT,ASCII aaaaaa,bbbbbbbbbb,cccccccccc(CC..CC),dddddddddd,vv.vv,eeeee,ffff/gg/hh,ii:jj:kk,lll/mmm/nnn,oo..oo,pp..pp,qq..qq,rr..rr,ss..ss,tt..tt,uu..uu,XX..XX,YY..YY,AA..AA,BB..BB
- (凡例)
-
記号
説明
aa…aa
レコード状態(6文字以内)
-
Rec:レコードの状態は正常です。
-
ErrRec:レコードの状態は異常です。
bb…bb
トレース情報を取得したプロセスのプロセスID(10進数で10桁以内)
cc…cc
トレース情報を取得したプロセス内スレッドのスレッドID(16進数で18桁以内)
dd…dd
該当スレッドでのトレース通番(10進数で10桁以内)
ee…ee
イベントID(16進数で6桁(先頭の0x含む))
ffff
トレースを取得した時刻(年)
gg
トレースを取得した時刻(月)
hh
トレースを取得した時刻(日)
ii
トレースを取得した時刻(時)
jj
トレースを取得した時刻(分)
kk
トレースを取得した時刻(秒)
lll
トレースを取得した時刻(ミリ秒)
mmm
トレースを取得した時刻(マイクロ秒)
nnn
トレースを取得した時刻(ナノ秒)
oo…oo
戻り値(16進数で10桁(先頭の0x含む))
pp…pp
クライアントアプリケーションのIPアドレス(xxx.xxx.xxx.xxxの形式)
qq…qq
クライアントアプリケーションのプロセスID(10進数で10桁以内)
rr…rr
クライアントの通信番号(18桁(先頭の0x含む))
ss…ss
ルートアプリケーションのIPアドレス(xxx.xxx.xxx.xxxの形式)
tt…tt
ルートアプリケーションのプロセスID(10進数で10桁以内)
uu…uu
ルートの通信番号(18桁(先頭の0x含む))
vv…vv
プロセス名称(32文字以内)
XX…XX
インターフェース名(33文字以内)※
YY…YY
オペレーション名(33文字以内)※
AA…AA
各イベントで取得した情報をダンプ形式で出力します(最大514文字)。
ダンプ形式の情報を””で囲んで出力します。
BB…BB
各イベントで取得した情報をASCII文字で出力します(最大 514文字)。
ダンプ形式のASCII文字は、””で囲んで出力します。
ASCII文字で表示できないコード(制御コード)は「.」(ピリオド)で出力し、ASCII文字で"(1文字)は""(2文字)で出力します。
CC…CC
スレッドのハッシュ値(16進数で18桁以内)
- 注※
-
インターフェース名、オペレーション名が32文字を超える場合は、次のように編集され33文字で出力されます。
「前16文字」+「*」+「後ろ16文字」
「前32文字」+「*」
「*」+「後ろ32文字」
-
出力例
-
cprfed -TraceFile prf_001を実行した場合
PRF: Rec Process: 26006 Thread: 0x15(0x12345678) Trace: 1023 ProcessName: tscd Event: 0x1002 Time: 2000/02/12 13:43:44 363/200/000 Rc: 0 ClientAP: 172.17.113.19 26303 - 00000000000003ff RootAP: 172.17.113.19 26006 - 00000000000003ff INT : testint OPR: test5
-
cprfed -Dump -TraceFile prf_001を実行した場合
PRF: Rec Process: 26006 Thread: 0x15(0x12345678) Trace: 1023 ProcessName: tscd Event: 0x1002 Time: 2000/02/12 13:43:44 363/200/000 Rc: 0 ClientAP: 172.17.113.19 26303 - 00000000000003ff RootAP: 172.17.113.19 26006 - 00000000000003ff INT : testint OPR: test5 Offset +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +a +b +c +d +e +f 0123456789abcdef +0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ +0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ +0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ +0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ............
-
cprfed -CSV -TraceFile prf_001を実行した場合
PRF,Process,Thread(hashcode),Trace,ProcessName,Event,Date,Time,Time(msec/usec/nsec),Rc,ClientAP IP,ClientAP PID,ClientAP CommNo.,RootAP IP,RootAP PID,RootAP CommNo.,INT,OPR,OPT,ASCII Rec,1800,0x2e00(0x0e9576fd),1,Client,0x1009,2003/10/12,16:26:52,734/000/000,****,10.209.15.65,1800,0x0000000000000001,10.209.15.65,1800,0x0000000000000001,ABC,****,abcdefg,"31323334"
注意事項
-
性能解析トレースでは高負荷時に排他によるボトルネックが生じないように、PRFトレース出力時に排他制御をしていません。そのため、一部トレース情報が正しく出力されない場合があります。
-
CSV形式に編集したファイルにASCII文字以外を含む場合は、Unicodeをサポートしたエディター、またはExcel 2003以降で参照してください。