フラグメント・プローブ・オブジェクトは、プローブのロジックの指定です。このオブジェクトには、実行される Java ソース・コードが含まれます。
少なくとも 1 つのフラグメント・オブジェクトが必要です。このオブジェクトには、コード・オブジェクトと、コード・オブジェクト内のソース・コードによって参照されるすべてのデータ項目を指定します。1 つのプローブを複数のフラグメント・オブジェクトで構成することはできますが、2 つのフラグメント・オブジェクトが同じ type を持つことはできません。
プロパティー | 説明 |
---|---|
type | 必須。メソッド・プローブでは、entry、exit、catch、staticInitializer、executableUnit のいずれかを指定する必要があります。呼び出しサイト・プローブでは、beforeCall または afterCall を指定する必要があります。 1 つのプローブにメソッド・フラグメントと呼び出しサイト・フラグメントを混在させることはできません。 |
フラグメント・タイプ | プローブ・タイプ | 説明 |
---|---|---|
entry | メソッド | entry フラグメントは、メソッドの開始時に実行されます。entry フラグメントは、Probekit によってクラスに挿入されたメソッドでは実行されません。 |
exit | メソッド | exit フラグメントは、メソッドの終了時に実行されます。正常終了時、メソッドが例外をスローするとき、またはスローされた例外がメソッドから伝搬されるときのいずれかの時点で実行されます。exit フラグメントは、Probekit によってクラスに挿入されたメソッドでは実行されません。 |
catch | メソッド | catch フラグメントは、メソッド内の catch 文節の先頭、または例外の結果として実行する finally 文節の先頭で実行されます。 |
staticInitializer | メソッド | staticInitializer フラグメントは、すべてのプローブ実行済みクラスのフラグメント・イニシャライザー内部で実行されます。 クラスに静的イニシャライザーがない場合、静的イニシャライザーが 1 つ作成されます。 詳しくは、staticInitializer プローブ・フラグメントを参照してください。 |
executableUnit | メソッド | executableUnit フラグメントは、プローブのターゲットとフィルターの指定と一致し、かつソース・コードが使用可能なメソッド内のすべての実行可能コード単位の前で実行されます。 メソッドにソース行情報が含まれない場合、メソッドは番号ゼロの 1 つの実行可能単位を持つものとみなされます。詳しくは、executableUnit プローブ・フラグメントを参照してください。 |
beforeCall | 呼び出しサイト | beforeCall フラグメントは、呼び出し側メソッド内で、ターゲット・メソッドが呼び出される直前に実行されます。メソッド・プローブでは無効です。 |
afterCall | 呼び出しサイト | afterCall フラグメントは、呼び出し側メソッド内で、ターゲット・メソッドの終了直後 (正常終了の直後、またはターゲット・メソッドが例外をスローした直後のいずれか) に実行されます。メソッド・プローブでは無効です。 |
<fragment type="entry"> <data . . . /> <code> . . . </code> </fragment>
Contained by
プローブ・オブジェクト
Contains
データ・プローブ・オブジェクト
コード・プローブ・オブジェクト