ターゲット・プローブ・オブジェクトは、プローブを適用する必要のあるクラスとメソッドの指定です。
ターゲット・オブジェクトはオプションです。ターゲット・オブジェクトを指定しない場合、インスツルメンテーション・エンジンで処理されるすべてのクラスにプローブが適用されます。
ターゲット・オブジェクトを使用すると、パッケージ、クラス、メソッド名、さらにメソッドのシグニチャーとの突き合わせのパターンに基づいて、メソッドをインスツルメンテーションの対象に含めたり除外したりするフィルター・ルールを作成することができます。パターンにはワイルドカードを含めることができます。「*」にはゼロ個以上の文字が一致します。
ターゲットのワイルドカード・パターンがメソッドのパッケージ、クラス、名前およびシグニチャーと一致する場合、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*" />
Contained by
プローブ・オブジェクト
親トピック: Probekit エレメント参照