![]() ![]() ![]() ![]() |
WebLogic 診断フレームワークのインスツルメンテーション ライブラリには診断モニタと診断アクションが含まれています。以下の節では、これらのライブラリについて説明します。
インスツルメンテーション ライブラリの項目の使い方については、「インスツルメンテーションのコンフィグレーション」を参照してください。
診断モニタは、サーバ スコープのモニタとアプリケーション スコープのモニタに大別されます。サーバ スコープのモニタは WebLogic Server クラスのインスツルメントに使用できます。アプリケーションスコープのモニタはアプリケーション クラスのインスツルメントに使用します。DyeInjection
モニタを除くすべてのモニタは代理モニタで、組み込みの診断アクションがありません。代わりに、モニタにアタッチされているアクションに委託して、診断アクティビティを実行します。
すべてのモニタには、それぞれのポイントカットがあらかじめコンフィグレーションされています。ただし、その作用を受ける実際の場所はインスツルメントされるクラスによって異なります。たとえば、Servlet_Before_Service
モニタでは、さまざまなサーブレット実装のいろいろな場所にあるサーブレットまたは Java Server Page (JSP) サービス メソッドの入り口に診断コードが追加されます。
すべての委託モニタには、対応するアクションのみをアタッチできます。対応するかどうかはモニタの性質によって決まります。
次の表では、サーバ スコープ (WebLogic Server クラス) 内で使用できる診断モニタをリストして説明します。各モニタに対応する診断アクションについては、表の対応アクション タイプ カラムを参照してください。
表 B-2 には、アプリケーション スコープ (デプロイ済みアプリケーション) 内で使用できる診断モニタをリストします。各モニタに対応する診断アクションについては、表の対応アクション タイプ カラムを参照してください。
診断アクション ライブラリには、以下のアクションが含まれます。
これらの診断アクションは、上の 2 つの表で説明した代理モニタで使用できます。また、ユーザが定義してアプリケーション内で使用できるカスタム モニタと一緒に使用することもできます。各診断アクションは、対応モニタ タイプ カラムに示されている対応するモニタとのみ一緒に使用できます。一部のアクション (TraceElapsedTimeAction
など) はイベント ペイロードを生成します。
このアクションは Stateless アクションで、Before および After モニタ タイプに対応しています。
TraceAction
は、プログラムの実行中に作用場所に追跡イベントを生成します。以下の情報が生成されます。
このアクションは Stateless アクションで、Before および After モニタ タイプに対応しています。
DisplayArgumentsAction
は、プログラムの実行中に作用場所にインスツルメンテーション イベントを生成し、メソッドの引数または戻り値をキャプチャします。
このアクションが実行されると、イベント アーカイブにディスパッチされるインスツルメンテーション イベントが発生します。インスツルメンテーション イベントが before モニタにアタッチされた場合は、ジョインポイントへの入力引数 (たとえばメソッド引数) がキャプチャされます。インスツルメンテーション イベントが after モニタにアタッチされた場合は、ジョインポイントからの戻り値がキャプチャされます。イベントは、以下の情報を保持します。
このアクションは Around アクションで、Around モニタ タイプに対応しています。
TraceElapsedTimeAction
は 2 つのイベント (プログラム実行中の特定の場所の前と後) を生成します。
このアクションが実行されると、関連付けられたジョインポイントの実行前と実行後のタイムスタンプがキャプチャされます。そして、これらの差を計算することで経過時間が算出されます。このアクションでは、イベント アーカイブにディスパッチされるインスツルメンテーション イベントが生成されます。経過時間は、イベント ペイロードとして格納されます。イベントは、以下の情報を保持します。
このアクションは Stateless アクションで、Before および After モニタ タイプに対応しています。
StackDumpAction
は、プログラムの実行中に作用場所にインスツルメンテーション イベントを生成し、スタック ダンプをキャプチャします。
このアクションが実行されると、イベント アーカイブにディスパッチされるインスツルメンテーション イベントが生成されます。スタック トレースは、イベント ペイロードとしてキャプチャされます。イベントは、以下の情報を保持します。
このアクションは Stateless アクションで、Before および After モニタ タイプに対応しています。
ThreadDumpAction
は、プログラムの実行中に作用場所にインスツルメンテーション イベントを生成し、スレッド ダンプをキャプチャします (基底の VM でサポートされている場合)。JDK 1.5 (BEA JRockit および Sun) ではこのアクションをサポートします。
このアクションでは、イベント アーカイブにディスパッチされるインスツルメンテーション イベントが生成されます。このアクションは JRockit JVM でのみ使用できます。他の JVM の場合は無視されます。スレッド ダンプは、イベント ペイロードとしてキャプチャされます。イベントは、以下の情報を保持します。
![]() ![]() ![]() |