ターゲット・プローブ・オブジェクトは、プローブの適用対象となるクラスおよびメソッドを指定します。
ターゲット・オブジェクトはオプショナルです。 Target が指定されていない場合は、インスツルメンテーション・エンジンで処理されるすべてのクラスにプローブが適用されます。
ターゲット・オブジェクトを使用することで、パッケージ、クラス、およびメソッドの名前、およびメソッドのシグニチャーと突き合わせされるパターンに基づき、インスツルメンテーションにメソッドを含めたり除外するためのフィルター規則を作成できます。 パターンにはワイルドカードを含めることができます。ワイルドカードの「*」は、ゼロ以上の文字と一致します。
ターゲットのワイルドカード・パターンが、メソッドのパッケージ、クラス、名前、およびシグニチャーと一致する場合、type プロパティーによって、メソッドにプローブが装備されるか (include)、またはされないか (exclude) が決まります。 パターンがメソッドのパッケージ、クラス、名前、およびシグニチャーと一致しない場合は、デフォルトでそのメソッドは装備されます。
プロパティー | 説明 |
---|---|
type | 必須。type プロパティーにより、プローブをターゲット・メソッドに適用するかどうかが決まります。 ワイルドカード・パターンと一致するクラスおよびメソッドにプローブを適用するには include を、除外するには exclude を指定してください。 |
package | オプショナル。クラス名のパッケージ部分と突き合わせるためのワイルドカード・パターンを指定します。たとえば、java.util* は、java.util パッケージおよびそのサブパッケージ内の各クラスと一致します。 これが指定されていない場合、デフォルト値は * です。 |
className | オプショナル。クラス名と突き合わせるためのワイルドカード・パターンを指定します。 これが指定されていない場合、デフォルト値は * です。 |
method | オプショナル。メソッド名と突き合わせるためのワイルドカード・パターンを指定します。 これが指定されていない場合、デフォルト値は * です。 |
signature | オプショナル。メソッドのシグニチャー、つまり、メソッドの引数および戻りの型を表すストリングと突き合わせるワイルドカード・パターンを指定します。 これは、メソッド・シグニチャーの Java 内部フォーマットです。 たとえば、(Ljava/lang/Object;)D は、Object をパラメーターとして持ち、double を戻すメソッドのシグニチャーです。 このワイルドカード・パターンを使用すると、多重定義のメソッドを区別することができます。 これが指定されていない場合、デフォルト値は * です。 |
注:
<target type="include" package="." class="SomeClass" method="*" /> <target type="exclude" package="*" class="*" method="*" />これら 2 つのターゲット規則により、プローブは、グローバル・パッケージ内のクラス SomeClass をターゲットとし、その他のクラスをすべて除外します。 これらの規則によって、その他のパッケージに含まれる SomeClass というクラスは除外されます。
<target type="include" package="com.example" className="*Proxy" method="Get*" />
上位オブジェクト
プローブ・オブジェクト
親トピック: Probekit 参照