6.3.1 EDMRptTraceコマンド(トレースの解析)
(1) 機能
EDMRptTraceコマンドは,指定されたトレースファイルを解析し,DocumentBrokerのサーバおよびクライアントのプログラムの処理内容を集計して結果を出力したり,分割してファイルに出力したりします。サーバトレース解析の場合は,ユーザプログラムのプログラム名とユーザプログラムのプロセスIDごとに集計・分割します。クライアントトレース解析の場合は,ユーザプログラムのプロセスIDとユーザプログラムのスレッドIDごとに集計し,ユーザプログラムのスレッドIDごとに分割します。
(2) 形式
EDMRptTrace
{-sv|-cl}
〔-s '開始時刻'〕
〔-e '終了時刻'〕
〔-d 集計間隔〕
〔-w〕
〔-t〕
〔-v〕
〔-vt〕
〔-o 出力ファイル名〕
〔-x 抽出エントリ定義ファイル名〕
〔トレースファイル名 ...〕
〔ディレクトリ名 ...〕
(3) オプション
- {-sv|-cl}
- 解析するトレースファイルの種別を指定します。指定できるのは次に示すどちらかです。なお,このオプションの指定は省略できません。
- -sv
- サーバトレースを解析する場合に指定します。
- -cl
- クライアントトレースを解析する場合に指定します。
- -s '開始時刻'
- ユーザプログラムの処理内容を集計する期間の開始時刻を指定します。指定した時刻以降のトレースログエントリが集計対象になります。指定した時刻は,集計期間の対象になります。例えば,12:00:00.000と指定した場合,12:00:00.000からが集計期間になります。
- 開始時刻は次に示す形式で指定してください。
'yyyy/mm/dd hh:mm〔:ss.sss〕'
- yyyy
- 日付の年の値を指定します。
- mm
- 日付の月の値を指定します。指定できる値の範囲は,1月を1として01~12です。範囲外の値を指定するとエラーになります。
- dd
- 日付の日にちの値を指定します。指定できる値の範囲は01~31です。範囲外の値を指定するとエラーになります。
- hh
- 時間の時の単位の値を指定します。指定できる値の範囲は00~23です。範囲外の値を指定するとエラーになります。
- mm
- 時間の分の単位の値を指定します。指定できる値の範囲は00~59です。範囲外の値を指定するとエラーになります。
- ss
- 時間の秒の単位の値を指定します。指定できる値の範囲は00~59です。範囲外の値を指定するとエラーになります。
- sss
- 時間のミリ秒の単位の値を指定します。指定できる値の範囲は000~999です。範囲外の値を指定するとエラーになります。
- このオプションは,次に示す事項に留意して指定してください。
- 開始時刻は次に示す記号で囲んで指定します。
・UNIXの場合:シングルクォーテーション(')またはダブルクォーテーション(")
・Windowsの場合:ダブルクォーテーション(")
- 指定を省略した場合,集計対象は最も古いトレースログエントリからになります。
- 指定した時刻が-eオプションで指定した終了時刻以降の場合,エラーになります。
- 年/月/日および時:分は省略できません。秒.ミリ秒は省略できますが,秒だけやミリ秒だけは省略できません。秒.ミリ秒を省略した場合,デフォルト値として00.000が仮定されます。
- -e '終了時刻'
- ユーザプログラムの処理内容を集計する期間の終了時刻を指定します。指定した時刻より前のトレースログエントリが集計対象になります。指定した時刻は,集計期間の対象になりません。例えば,12:45:00.000と指定した場合,12:44:59.999までが集計期間になります。
- 終了時刻の指定形式は-sオプションの開始時刻と同じです。-sオプションの開始時刻の説明を参照してください。
- このオプションは,次に示す事項に留意して指定してください。
- 終了時刻は次に示す記号で囲んで指定します。
・UNIXの場合:シングルクォーテーション(')またはダブルクォーテーション(")
・Windowsの場合:ダブルクォーテーション(")
- 指定を省略した場合,集計対象は最も新しいトレースログエントリまでになります。
- 指定した時刻が-sオプションで指定した開始時刻以前の場合,エラーになります。
- 指定した時刻を満たさないトレースログエントリは,集計対象から外されます。
例えば,トレースファイル中の最初のトレースログエントリの時刻が12:00:00.000で,最後のトレースログエントリの時刻が13:00:00.000だとします。このとき,-eオプションに12:45:00.000を指定してEDMRptTraceコマンドを実行した場合,12:00:00.000から 12:44:59.999までのトレースログエントリは集計・出力対象になります。しかし,12:45:00.000から13:00:00.000までのトレースログエントリは集計・出力対象になりません。
- -d 集計間隔
- ユーザプログラムの処理内容を集計する時間の幅を,分単位の整数で指定します。指定できる値の範囲は1~43200です。例えば,-d 15と指定すると,15分間ごとのユーザプログラムの処理内容が集計されます。
- このオプションは,次に示す事項に留意して指定してください。
- 整数以外を指定した場合,および0以下の値を指定した場合はエラーになります。
- 集計・出力対象のトレースログエントリは,-sオプション,-eオプションとの組み合わせによって変わります。
例えば,トレースファイル中の最初のトレースログエントリの時刻が12:00:00.000で,最後のトレースログエントリの時刻が13:00:00.000だとします。
このとき,-dオプションに45,-eオプションに12:45:00.000を指定してEDMRptTraceコマンドを実行した場合,12:00:00.000から12:44:59.999までのトレースログエントリが集計・出力対象になります。しかし,12:45:00.000から13:00:00.000までのトレースログエントリは集計・出力対象になりません。
また,このとき,-dオプションに45を指定し,-eオプションを省略してEDMRptTraceコマンドを実行した場合,12:00:00.000から12:44:59.999までのトレースログエントリが最初のインターバルの集計・出力対象になり,12:45:00.000から13:00:00.000までのトレースログエントリは次のインターバルの集計・出力対象になります。
- -w
- トレースファイルの内容を分割して出力する場合に指定します。
- サーバトレース解析の場合はユーザプログラムのプログラム名とユーザプログラムのプロセスIDごとに,クライアントトレース解析の場合はユーザプログラムのスレッドIDごとに,トレースファイルの内容を分割して別々のファイルに出力します。その際,出力されるすべてのエントリは,分類項目のtidでソートされます。同じtidのエントリが複数ある場合は,その中でdateの昇順にソートされます。出力先のディレクトリとファイル名を次に示します。
- ディレクトリ
- UNIXの場合
DocumentBroker実行環境ディレクトリ/aru/output
- Windowsの場合
DocumentBrokerインストールディレクトリ¥Server¥aru¥output
- ファイル名
- サーバトレース解析の場合
"ユーザプログラムのプログラム名"_"ユーザプログラムのプロセスID".txt
- クライアントトレース解析の場合
"ユーザプログラムのスレッドID".txt
- なお,このオプションの対象エントリは,enterエントリとmsgエントリです。トレースファイル分割機能の詳細については,「6.3.2(2) トレースファイル分割機能の処理方式」を参照してください。トレースファイル分割の分類項目については,「6.3.3(2) トレースファイル分割機能の出力形式」を参照してください。
- -t
- ユーザプログラムの処理内容のSUBTOTAL(小計)とTOTAL(総計)を出力する場合に指定します。
- サーバトレース解析の場合は,ユーザプログラムのプログラム名ごとにSUBTOTALとTOTALが出力されます。クライアントトレース解析の場合は,ユーザプログラムのプロセスIDごとにSUBTOTALとTOTALが出力されます。
- なお,このオプションの対象エントリは,enterエントリです。
- -v
- 結果をCSV形式で出力する場合に指定します。
- -vt
- トレース表を出力する場合に指定します。トレース表については,「6.3.2(1) 集計機能の処理方式(EDMRptTraceコマンドの集計方法)」を参照してください。なお,このオプションの対象エントリは,enterエントリとmsgエントリです。また,ユーザプログラム情報のないサーバトレースのenterエントリも,トレース表に出力されます。
- トレース表は,-vオプションを指定しなくても,CSV形式で出力されます。
- -o 出力ファイル名
- 結果をファイルに出力する場合に,出力するファイル名を指定します。ファイルパスは,フルパス,相対パスまたはファイル名だけのどの方法でも指定できます。ファイル名だけを指定した場合,カレントディレクトリに出力されます。
- 指定を省略する場合,結果は標準出力(stdout)に出力されます。
- -x 抽出エントリ定義ファイル名
- エントリを抽出する場合に,抽出するエントリの処理の種別を指定した抽出エントリ定義ファイルのファイル名を指定します。抽出エントリ定義ファイルについては,「4.1.5 抽出エントリ定義ファイル」を参照してください。
- このオプションは,次に示す事項に留意して指定してください。
- ファイルパスは,フルパスまたは相対パスのどちらでも指定できます。フルパスで指定されていない場合は,カレントディレクトリ下を探します。
- ハイフン(-)で始まるファイル名は指定できません。ただし,フルパスで指定された場合は処理できます。
- ファイル名に空白が含まれている場合,次に示す記号でファイル名全体を囲めば指定できます。
・UNIXの場合:シングルクォーテーション(')またはダブルクォーテーション(")
・Windowsの場合:ダブルクォーテーション(")
- 指定されたファイルがない場合や指定されたファイルがディレクトリの場合,エラーになります。
(4) コマンド引数
- トレースファイル名
- 解析対象のトレースファイルを指定します。
- ディレクトリ名
- 解析対象のディレクトリを指定します。ただし,サブディレクトリ下のファイルは解析対象に含まれません。ディレクトリパスは,1023バイト以内で指定してください。指定したディレクトリの下にファイルがある場合は,そのファイル名も含めたパスが,1023バイト以内になるようにしてください。
-
- コマンド引数は,次に示す事項に留意して指定してください。
- ファイルパスおよびディレクトリパスはフルパスまたは相対パスのどちらでも指定できます。フルパスで指定されていない場合は,カレントディレクトリ下を探します。
- ハイフン(-)で始まるファイル名およびディレクトリ名は指定できません。ただし,フルパスで指定された場合は処理できます。
- ファイル名およびディレクトリ名に空白が含まれている場合,次に示す記号でファイル名全体を囲めば指定できます。
・UNIXの場合:シングルクォーテーション(')またはダブルクォーテーション(")
・Windowsの場合:ダブルクォーテーション(")
- ファイル名およびディレクトリ名の最後のパスの区切り(UNIXの場合「/」,Windowsの場合「¥」)がある場合,標準エラー出力(stderr)にメッセージが出力されます。
- 次の場合,標準エラー出力(stderr)にメッセージが出力されます。
・指定したファイルまたはディレクトリがない場合
・指定したディレクトリが一つで,そのディレクトリに処理対象のファイルがない場合
・指定したディレクトリが複数で,すべてのディレクトリに処理対象のファイルがない場合
- トレースファイルを指定する場合,トレースファイルを160個まで指定できます。なお,複数のファイルを指定した場合,その中にアクセスできないファイルが一つでもあるときは,処理を中止してメッセージを出力します。また,同じファイルを重複して指定しても,そのファイルに対する処理は1回だけになります。
- ディレクトリを指定する場合,複数のディレクトリを指定できます。なお,指定したディレクトリ下のファイル総数が160を超えた場合,および指定したディレクトリ下にアクセスできないファイルが一つでもある場合は,処理を中止してメッセージを出力します。また,同じディレクトリを重複して指定しても,そのディレクトリ下のファイルに対する処理は1回だけになります。
- トレースファイルは,ASCIIコードとShift-JISコードで構成されています。ただし,enterエントリおよびmsgエントリはASCIIコードで構成されます。
- この指定を省略する場合,サーバトレース解析では,EDMRptTraceコマンドのサーバトレース格納ディレクトリ(UNIXの場合「DocumentBroker実行環境ディレクトリ/aru/input/spool/server」,Windowsの場合「DocumentBrokerインストールディレクトリ¥Server¥aru¥input¥spool¥server」)にある「EDMRasTrace"PID"_"NO".log」("PID"はプロセスID,"NO"は1~16の通し番号)という名称のファイルが対象になります。
このとき,処理できるファイルの数は160個ではなく,上記のファイル名に該当するファイルの数になります。
- この指定を省略する場合,クライアントトレース解析では,EDMRptTraceコマンドのクライアントトレース格納ディレクトリ(UNIXの場合「DocumentBroker実行環境ディレクトリ/aru/input/spool/client」,Windowsの場合「DocumentBrokerインストールディレクトリ¥Server¥aru¥input¥spool¥client」)にある「EDMRasTraceCL"PID"_"NO".log」("PID"はプロセスID,"NO"は1~16の通し番号)という名称のファイルが対象になります。
このとき,処理できるファイルの数は160個ではなく,上記のファイル名に該当するファイルの数になります。
- EDMRptTraceコマンドは,DocumentBrokerがトレースファイルを生成するディレクトリにあるファイルを対象にして実行できません。EDMRptTraceコマンドを実行する前に,DocumentBrokerが生成したサーバトレースおよびクライアントトレースを,EDMRptTraceコマンドのサーバトレースまたはクライアントトレース格納ディレクトリにコピーして,コマンド引数でのトレースファイルの指定を省略することをお勧めします。トレースファイルのコピーについては,「4.2.1 トレースファイル」を参照してください。
(5) 注意事項
EDMRptTraceコマンドに関するそのほかの注意事項を次に示します。