6.3.2 EDMRptTraceコマンドの機能の処理方式

EDMRptTraceコマンドの次に示す機能の処理方式について説明します。

<この項の構成>
(1) 集計機能の処理方式(EDMRptTraceコマンドの集計方法)
(2) トレースファイル分割機能の処理方式
(3) エントリ抽出機能の処理方式

(1) 集計機能の処理方式EDMRptTraceコマンドの集計方法

EDMRptTraceコマンドの集計機能では,まず,トレースファイル中のトレースログを解析して,トレースログエントリごとにトレース表を作成します。その上で,サーバおよびクライアントのプログラムによる処理内容を,ユーザプログラムのプログラム名,プロセスIDおよびスレッドIDで分類・集計して,結果を標準出力(stdout)またはファイルに出力します。

トレース表の項目を次の表に示します。

表6-10 トレース表の項目

項目名説明
日付サーバまたはクライアントのプログラムが処理を実行した日付(年/月/日)。
時刻サーバまたはクライアントのプログラムが処理を実行した時刻(時:分:秒.ミリ秒)。
プロセスID解析対象によって,プロセスIDが異なります。
サーバトレース解析の場合
サーバプロセスのプロセスID
クライアントトレース解析の場合
ユーザプログラムのプロセスID
スレッドID解析対象によって,スレッドIDが異なります。
サーバトレース解析の場合
サーバプロセスのスレッドID
クライアントトレース解析の場合
ユーザプログラムのスレッドID
処理の種別enterまたはmsg。enterまたはmsgについては,「表4-4 messageに出力される処理の種別と処理の内容」を参照してください。
ユーザプログラムのホスト名トレースログに含まれるユーザプログラム情報の項目。クライアントトレースにはありません。
ユーザプログラムのプログラム名
ユーザプログラムのプロセスID
ユーザプログラムのセッションID
プログラム識別子
処理内容またはメッセージ処理の種別によって異なります。
enterの場合
クラス名::メソッド名(または関数名)
msgの場合
メッセージ(SQL文など)

トレース表の例を表6-11および表6-12に示します。なお,実際には,表6-11の右側に表6-12が続く形式の一つのトレース表として作成されます。クライアントトレースの場合,ユーザプログラム情報の項目を除いた形式のトレース表になります。

表6-11 トレース表の例(1/2)

日付時刻プロセスIDスレッドID処理の種別ユーザプログラムのホスト名ユーザプログラムのプログラム名
2000/06/1902:18:19.38800002541​00005488​enterht01UAP01
2000/06/1902:18:52.26100002541​00005488​enterht01UAP01
2000/06/1902:19:16.42000002541​00005488​msg
2000/06/1902:19:16.42000002541​00005488​enterht01UAP01
(凡例)
-:該当する内容がないことを示す。
注※
ユーザプログラム情報の項目です。クライアントトレースのトレース表にはありません。

表6-12 トレース表の例(2/2)

ユーザプログラムのプロセスIDユーザプログラムのセッションIDプログラム識別子処理内容またはメッセージ
14455545421asd(usr)EDMS2225CedmRasMsg::cs_setMsgFormatter()
14455545421asd(usr)EDMS2225CedmRasMsg::cs_setMsgFormatter()
SELECT "dmaProp_OIID" FROM "mdmClass_CfgH"
14455545421asd(usr)EDMS2225Edm_sys_open_directory()
(凡例)
-:該当する内容がないことを示す。
注※
ユーザプログラム情報の項目です。クライアントトレースのトレース表にはありません。

なお,トレース表は,EDMRptTraceコマンド実行時に-vtオプションを指定することによって出力できます。

(2) トレースファイル分割機能の処理方式

トレースファイルには,複数のユーザプログラム情報が含まれています。EDMRptTraceコマンドのトレースファイル分割機能では,トレースファイルの内容を分割して別々のファイルに出力します。サーバトレース解析の場合はユーザプログラムのプログラム名とユーザプログラムのプロセスIDごとに,クライアントトレース解析の場合はユーザプログラムのスレッドIDごとに分割して出力します。その際,出力されるすべてのエントリは,出力結果の分類項目であるtidでソートされます。同じtidのエントリが複数ある場合は,その中でdateの昇順にソートされます。出力結果の分類項目のtidおよびdateについては,「6.3.3(2) トレースファイル分割機能の出力形式」を参照してください。

トレースファイル分割の概念を図6-6および図6-7に示します。

図6-6 トレースファイル分割の概念(サーバトレース解析の場合)

[図データ]

図6-7 トレースファイル分割の概念(クライアントトレース解析の場合)

[図データ]

トレースファイル分割機能で出力されるファイルの出力先のディレクトリとファイル名を次に示します。

ディレクトリ
UNIXの場合
DocumentBroker実行環境ディレクトリ/aru/output
Windowsの場合
DocumentBrokerインストールディレクトリ¥Server¥aru¥output
ファイル名
サーバトレース解析の場合
"ユーザプログラムのプログラム名"_"ユーザプログラムのプロセスID".txt
クライアントトレース解析の場合
"ユーザプログラムのスレッドID".txt
ファイル名の規則を次に示します。
  • すでに同名のファイルがある場合,そのファイル名に"_n"(nは通し番号。最大値は15)を付加した形式で出力されます。
  • "_n"を付加した形式のファイルがある場合,最終更新ファイルのnに1を足したファイルが出力または更新されます。なお,nが15のファイルが最終更新ファイルの場合,"_n"が付いてないファイルが更新されます。
    例えば,nが5のファイルが最終更新ファイルの場合,nが6のファイルが更新されます。また,nが9のファイルしかない場合,nが10のファイルが出力されます。
ファイル名の例を次に示します。
サーバトレース解析の場合のファイル名の例
例1:同名のファイルがない場合
「UP01_0134.txt」というファイルが出力されます。
例2:同名のファイル「UP01_0134.txt」がある場合
「UP01_0134_1.txt」というファイルが出力されます。
例3:ファイル「UP01_0134_5.txt」が最終更新ファイルの場合
「UP01_0134_6.txt」というファイルが出力されます。
例4:ファイル「UP01_0134_9.txt」しかない場合
「UP01_0134_10.txt」というファイルが出力されます。
クライアントトレース解析の場合のファイル名の例
例1:同名のファイルがない場合
「0001.txt」というファイルが出力されます。
例2:同名のファイル「0001.txt」がある場合
「0001_1.txt」というファイルが出力されます。
例3:ファイル「0001_5.txt」が最終更新ファイルの場合
「0001_6.txt」というファイルが出力されます。
例4:ファイル「0001_9.txt」しかない場合
「0001_10.txt」というファイルが出力されます。

(3) エントリ抽出機能の処理方式

トレースログエントリには,プログラムの処理内容を表す処理の種別が含まれています。EDMRptTraceコマンドのエントリ抽出機能では,抽出エントリ定義ファイルに指定された処理の種別によって,トレースログエントリを抽出して,結果を標準出力(stdout)またはファイルに出力します。