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