ターゲット仕様は、プローブを適用する対象となるクラスおよびメソッドを指定します。
ターゲット指定はオプションです。ターゲットが指定されていない場合は、インスツルメンテーション・エンジンで処理されるすべてのクラスにプローブが適用されます。
ターゲット指定を使用することで、パッケージ、クラス、およびメソッドの名前、およびメソッドのシグニチャーと突き合わせされるパターンに基づき、インスツルメンテーションにメソッドを組み込んだり除外したりするためのフィルター規則を作成できます。パターンにはワイルドカードを組み込むことができます。ワイルドカードの「*」は、ゼロ以上の文字と一致します。
ターゲットのワイルドカード・パターンが、メソッドのパッケージ、クラス、名前、およびシグニチャーと一致する場合、type プロパティーによって、メソッドにプローブが装備されるか (include)、またはされないか (exclude) が決まります。パターンがメソッドのパッケージ、クラス、名前、およびシグニチャーと一致しない場合は、デフォルトでそのメソッドは装備されます。
プロパティー | 説明 |
---|---|
type | 必須。type プロパティーにより、プローブをターゲット・メソッドに適用するかどうかが決まります。ワイルドカード・パターンと一致するクラスおよびメソッドにプローブを適用するには include を、除外するには exclude を指定してください。 |
package | オプショナル。クラス名のパッケージ部分と突き合わせるためのワイルドカード・パターンを指定します。例えば、java.util* は、java.util パッケージおよびそのサブパッケージ内の各クラスと一致します。これが指定されていない場合、デフォルト値は * です。 |
className | オプショナル。クラス名と突き合わせるためのワイルドカード・パターンを指定します。これが指定されていない場合、デフォルト値は * です。 |
method | オプショナル。メソッド名と突き合わせるためのワイルドカード・パターンを指定します。これが指定されていない場合、デフォルト値は * です。 |
signature | オプショナル。メソッドのシグニチャーと突き合わせるためのワイルドカード・パターンを指定します。 (シグニチャーは、メソッドの引数および戻りの型を表すストリングです。) メソッド・シグニチャーには、Java 内部フォーマットを使用します。たとえば、(Ljava/lang/Object;)D は、Object をパラメーターとして持ち、double を戻すメソッドのシグニチャーです。このワイルドカード・パターンを使用すると、多重定義のメソッドを区別することができます。これが指定されていない場合、デフォルト値は * です。 |
注:
ターゲットを指定するには、「プローブ」ページのツリー・ペインにある「ターゲット」を選択し、 「追加」をクリックし、次に編集ペインの「編集」をクリックします。
この例では、パッケージ com.example 内の Proxy で名前が終了するクラス内で Get で名前が始まるメソッドにのみプローブが適用されます。 include 型および exclude 型のターゲット・エントリー。exclude ターゲット・エントリーでは、すべてを除外するためにアスタリスク・ワイルドカードを使用します。include エントリーではターゲットになる正確なメソッドを指定します。これ以外のクラスおよびメソッドは、インスツルメンテーションから除外されます。