2.7.2 トレース共通環境変数
トレース共通環境変数の詳細について説明します。
(1) HVI_TRACEPATH
(Windows) 〜<1バイト〜210バイト以下のパス名>
(UNIX) 〜<1バイト〜980バイト以下のパス名>
次に示すトラブルシュートファイルの出力先を絶対パスで設定します。
-
モジュールトレース
-
通信トレース
-
エラーログ
-
メッセージログ
-
スタックトレース
-
バーボースログ
-
ネーミングサービス名前空間情報ログ
各トラブルシュートファイルは,Java ORBでは${VBROKER_ADM}/../logj(%VBROKER_ADM%\..\logj),C++ ORBでは${VBROKER_ADM}/../log(%VBROKER_ADM%\..\log)に出力されますが,この環境変数を指定することで,環境変数VBROKER_ADMで指定されるディレクトリと異なるディレクトリに出力先を変更することができます。
なお,設定するディレクトリは,次の条件を満たしている必要があります。
-
指定したディレクトリのパスの長さが,Windowsでは1〜210バイト,UNIXでは1〜980バイトの範囲内である。
-
指定されたディレクトリが存在する(C++ ORBだけ)。
ディレクトリの作成例を示します。
-
Windows
mkdir %HVI_TRACEPATH%
-
UNIX
mkdir $HVI_TRACEPATH
-
-
次に示すディレクトリにファイル作成,読み取り,および書き込み権限がある。
-
Windows
%HVI_TRACEPATH%
%HVI_TRACEPATH%\comtrc
%HVI_TRACEPATH%\stktrc
%HVI_TRACEPATH%\mdltrc
%HVI_TRACEPATH%\namelog
-
UNIX
$HVI_TRACEPATH
$HVI_TRACEPATH/comtrc
$HVI_TRACEPATH/mdltrc
$HVI_TRACEPATH/hgttrc
$HVI_TRACEPATH/namelog
-
- 注意事項
-
-
環境変数HVI_TRACEPATHが設定されていない,または指定したパスの長さがWindowsでは1〜210バイト,UNIXでは1〜980バイトの範囲にない場合,Java ORBでは${VBROKER_ADM}/../logj(%VBROKER_ADM%\..\logj),C++ ORBでは${VBROKER_ADM}/../log(%VBROKER_ADM%\..\log)を出力ディレクトリに設定します。
ただし,設定した出力ディレクトリのパスの長さが範囲外の場合は,トラブルシュートファイルは出力されません。
-
環境変数HVI_TRACEPATHで指定されたディレクトリが同じ環境で,Java ORBおよびC++ ORBのアプリケーションを混在して使用すると,トラブルシュートファイルがすべて同じディレクトリに出力されます。Java ORBのファイル数の上限はディレクトリ単位であることから,Java ORBおよびC++ ORBで出力されるファイルを合わせた数が上限となります。
そのため,Java ORBのアプリケーション実行時にファイル数の上限を超えると,C++ ORBのトラブルシュートファイルが古いファイルとして削除されるおそれがあります。
-
(2) HVI_TRACEFILENAME_TOD
(Java ORB) 〜<文字列> { true|false|Y|N } <<true>>
(C++ ORB ) 〜<文字列> { true|false } <<false>>
通信トレース,モジュールトレース,およびネーミングサービス名前空間情報ログの出力ファイル名に時刻情報を付加するかどうかを設定します。付加する時刻情報は,トラブルシュートファイルを作成した時刻(YYYYMMDDHHMMSS形式)です。
-
true|Y
ファイル名に時刻情報を付加します。ファイル名は次のとおりになります。
-
「<付加名称>.<プロセスID>.<時刻情報>.<xxx>.dat」(Java ORB)
-
「<実行形式ファイル名称>.<プロセスID>.<時刻情報>.<xxx>.dat」(C++ ORB)
-
「namelog1.<プロセスID>.<時刻情報>.txt」または「namelog2.<プロセスID>.<時刻情報>.txt」(ネーミングサービス名前空間情報ログ)
-
-
false|N
ファイル名に時刻情報を付加しません。ファイル名は次のとおりになります。
-
「<付加名称>.<プロセスID>.<xxx>.dat」(Java ORB)
-
「<実行形式ファイル名称>.<プロセスID>.<xxx>.dat」(C++ ORB)
-
「namelog1.<プロセスID>.txt」または「namelog2.<プロセスID>.txt」(ネーミングサービス名前空間情報ログ)
-
上記のフォーマットで,xxxは,モジュールトレースの場合はmdl,通信トレースの場合はcomtです。
また,トラブルシュートファイルの削除管理対象は,設定されたフォーマットの形式が"true"の場合は時刻情報を付加した形式のファイル,"false"の場合は時刻情報を付加していない形式のファイルに対して有効になります。
Java ORBでは,"Y"または"N"で設定することもできます。
- 注意事項
-
指定範囲外の値を設定した場合は,デフォルト値が設定されます。
(3) HVI_MAPFILEINIT(UNIXだけ)
(UNIX)〜<文字列> { true|false } <<false>>
出力ディレクトリの領域の初期化処理を実施するかどうかを指定します。
-
true
ファイル作成時の初期化処理を実施します。
-
false
ファイル作成時の初期化処理を実施しません。
ファイル作成時の初期化処理を実施しない("false"を設定した)場合,トラブルシュートファイルへの情報出力時にディスク不足などが発生すると,アプリケーション実行時の予期しないタイミングでプロセスが強制終了されます。
"true"を指定することで,アプリケーションが該当プロセスで初回に発行するCORBA::ORB_init()またはorg.omg.CORBA.ORB.init()で,ファイル作成時の初期処理を実施し,この時点でディスク不足などが発生するとプロセスが強制終了されるようになります。そのため,予期しないタイミングでプロセスが強制終了することを防止できます。
- 注意事項
-
-
トレース取得エントリ数によっては,初回に発行するCORBA::ORB_init()またはorg.omg.CORBA.ORB.init()のレスポンスが悪くなる場合があります。
-
この機能によって,アプリケーションが強制終了した場合は,トラブルシュートファイルを取得するために必要なディスクの空き容量を確保してください。
ディスクの空き容量については,「2.12.2 ディスク占有量」を参照してください。
-
指定範囲外の値を設定した場合は,デフォルト値が設定されます。
-