Cosminexus V9 アプリケーションサーバ Cosminexus HTTP Server

[目次][用語][索引][前へ][次へ]

4.2.6 モジュールトレースの採取

Webサーバは複数のモジュールから構成され,これらのモジュールは特定のタイミングで実行される複数の関数から構成されています。モジュールトレースとは,モジュールの各関数の実行時およびCGIプログラムの実行時に採取されるトレースのことです。モジュールトレースは,HWSRequestLogディレクティブの指定の有無によって,採取先などの採取方法が変わります。

注※ モジュールには,WebサーバにLoadModuleディレクティブで動的に組み込んで使用する外部モジュールと,httpsd実行ファイルに含まれる内部モジュールとがあります。

<この項の構成>
(1) トレース対象
(2) 採取方法
(3) 採取レベル
(4) トレースフォーマット
(5) 使用方法

(1) トレース対象

モジュールトレースのトレース対象を次に示します。

表4-3 モジュールトレースのトレース対象

トレース対象 トレースの契機
モジュール モジュールは複数の関数から構成されています。これらの関数は,初期化処理とリクエスト対応処理に分類されます。トレースはリクエスト対応処理についての関数に対して採取します。
CGIプログラム CGIプログラム実行時にトレースを採取します。

(2) 採取方法

HWSRequestLogディレクティブを指定していない場合は,ErrorLogディレクティブに指定したファイルに対して,LogLevelディレクティブの指定に従って採取します。

HWSRequestLogディレクティブを指定している場合は,HWSRequestLogディレクティブに指定したファイルに対して,HWSRequestLogTypeディレクティブの指定に従って採取します。

注意事項
ErrorLogディレクティブに指定したファイルに対してログを採取する場合は,バーチャルホスト単位にファイルを分けることができます。HWSRequestLogディレクティブに指定したファイルに対してログを採取する場合は,バーチャルホスト単位にファイルを分けることができません。

(3) 採取レベル

LogLevelディレクティブまたはHWSRequestLogTypeディレクティブの指定によって,採取するモジュールトレースのレベルを変更できます。各レベルで採取するトレースの内容を次に示します。

(a) infoレベル

障害発生の原因となるおそれのある外部モジュールおよびCGIプログラムについて採取します。

LogLevelディレクティブにinfoを指定またはHWSRequestLogTypeディレクティブにmodule-infoを指定した場合に採取します。

(b) debugレベル

infoレベルのほかに,リクエストごとに動作する内部モジュールについてのトレースも採取します。

LogLevelディレクティブにdebugを指定またはHWSRequestLogTypeディレクティブにmodule-debugを指定した場合に採取します。

(4) トレースフォーマット

モジュールトレースの出力項目は次のとおりです。

なお,以降の記述で「サーバプロセスID」はWindows版の場合「サーバスレッドID」です。

(a) モジュール
(b) CGIプログラム

(5) 使用方法

(a) 使用例

リクエストログに,infoレベルのモジュールトレースおよびリクエストトレースを出力する例を示します。

 
HWSRequestLogType module-info request
HWSRequestLog logs/hwsrequest.log
 
(b) 異常時のトレース例