3.8.3 MCFトレースに関する運用
OpenTP1は,MCF通信サービスごとに発生したイベントや送受信データの一部をMCFトレース情報として取得しています。
メッセージ制御機能で障害が発生した場合,MCFトレースを使用してイベントや送受信データの流れを解析し,障害要因を調査します。
(1) MCFトレースのディスク出力機能
MCFトレース情報は,共用メモリ中のトレース領域(トレースバッファ)に取得されます。トレースバッファの大きさはトレース環境定義(mcfttrc -t)のsizeオペランドで指定します。
MCFトレースのディスク出力機能を使用する(トレース環境定義(mcfttrc -t)のdiskオペランドを省略,またはyesを指定)と,トレースバッファが満杯になった時にMCFトレースファイルとしてディスクに出力されます。
障害発生時にMCFトレースがない場合,障害要因の調査ができないおそれがあります。そのため,MCFトレースのディスク出力機能を使用することをお勧めします。
- 注意事項
-
障害発生後,速やかにMCFトレースを退避してください。障害発生から長時間経過したり,OpenTP1を正常開始したりした場合,MCFトレースファイルが失われるおそれがあります。
(2) MCFトレースのスワップ
障害発生直後の場合,MCFトレース情報が共用メモリ中に残り,ファイルに出力されていないことがあります。
最新のMCFトレースをファイルに出力したい場合は,mcftswptrコマンドでMCFトレースファイルをスワップしてください。
(3) MCFトレースの一時出力
共用メモリ上に取得しているMCFトレース情報を,任意のタイミングでMCFトレースファイルに出力できます。MCFトレース情報の取得を開始するには,mcftstrtrコマンドを使用します。MCFトレース情報の取得を終了し,MCFトレースファイルに出力するには,mcftstptrコマンドを使用します。これらのコマンドは,主にMCFトレースのディスク出力機能を使用しないように定義した場合(mcfttrc -t "disk=no")で,一時的にMCFトレースファイルを取得したいときに使用します。
MCFトレース情報をMCFトレースファイルへ出力する処理の概要を次の図に示します。
(4) MCFトレースファイルの見積もり式
アプリケーション起動サービスにおけるトレース情報量の見積もり式,およびトレース情報が失われる経過時間の見積もり式について説明します。MCF通信サービスについては,マニュアル「OpenTP1 プロトコル」の該当するプロトコル編を参照してください。
トレース情報量の見積もり式
1秒当たりに取得するMCFトレースファイルの,トレース情報量の見積もり式を次に示します。
1秒当たりのトレース情報量(単位:バイト)= A×B + C×D
-
A:アプリケーションプログラムの起動(即時起動)のトレース情報量(単位:バイト)
-
32ビットの場合:900
-
64ビットの場合:1000
-
-
B:1秒当たりのアプリケーションプログラムの起動(即時起動)回数
-
C:アプリケーションプログラムの起動(タイマ起動)のトレース情報量(単位:バイト)
-
32ビットの場合:1600
-
64ビットの場合:1800
-
-
D:1秒当たりのアプリケーションプログラムの起動(タイマ起動)回数
トレース情報が失われる経過時間の見積もり式
MCFトレースファイルから,トレース情報が失われる経過時間の算出式を次に示します。
なお,算出式中の,「1秒当たりのトレース情報量」とは,トレース情報量の見積もり式で算出した値です。
経過時間(秒) = G×H×I/1秒当たりのトレース情報量(単位:バイト)
-
G:トレースバッファの大きさ(トレース環境定義(mcfttrc -t)のsizeオペランド指定値)
-
H:トレースバッファの数(トレース環境定義(mcfttrc -t)のbufcntオペランド指定値)
-
I:MCFトレースファイルの数(トレース環境定義(mcfttrc)の-mオプションを省略,またはdelを指定した場合:トレース環境定義(mcfttrc -t)のtrccntオペランド指定値,トレース環境定義(mcfttrc)の-mオプションにoffを指定した場合:99)