L'objet de sonde Target est une spécification des classes et des méthodes auxquelles la sonde doit être appliquée.
L'objet Target est facultatif. Lorsqu'aucun objet Target n'est spécifié, la sonde sera appliquée à toutes les classes traitées par le moteur d'instrumentation.
L'objet Target vous permet de créer des règles de filtre pour inclure ou exclure des méthodes de l'instrumentation en fonction de masques qui sont satisfaits par rapport au nom du module, de la classe et de la méthode, plus la signature de la méthode. Les masques peuvent contenir des caractères génériques, où "*" correspond à zéro ou plusieurs caractères.
Si les masques génériques de l'objet Target correspondent au nom et à la signature d'un module, d'une classe de méthode, la propriété type détermine si la méthode est instrumentée (include) ou non (exclude). Si les masques ne correspondent pas au nom et à la signature d'un module, d'une classe d'une méthode, par défaut, la méthode est instrumentée.
Propriété | Description |
---|---|
type | Obligatoire. La propriété type détermine si une sonde est appliquée ou non à une méthode cible. Spécifiez include pour appliquer la sonde aux classes et aux méthodes correspondant aux masques génériques, exclude pour les exclure. |
package | Facultative. Spécifiez un masque générique correspondant à la partie du module des noms de classe. Par exemple : java.util* correspondra à chaque classe du module java.util et de ses sous-modules. Si non spécifié, la valeur par défaut est *. |
className | Facultative. Spécifiez un masque générique pour correspondre aux noms de classe. Si non spécifié, la valeur par défaut est *. |
method | Facultative. Spécifiez un masque générique pour correspondre aux noms de méthode. Si non spécifié, la valeur par défaut est *. |
signature | Facultative. Spécifiez un masque générique pour correspondre à la signature d'une méthode, c'est-à-dire la chaîne représentant les arguments de la méthode et le type de renvoi. Il se présente au format interne Java des signatures de méthode. Par exemple : (Ljava/lang/Object;)D est la signature d'une méthode qui utilise un Object comme un paramètre et renvoie un double. Ce masque générique peut être utilisé pour différencier les méthodes en surcharge. Si non spécifié, la valeur par défaut est *. |
Remarques :
<target type="include" package="." class="SomeClass" method="*" /> <target type="exclude" package="*" class="*" method="*" />Ces deux règles cibles entraînent la sonde à cibler la classe SomeClass du module global tout en excluant toutes les autres classes. Grâce à ces règles, une classe appelée SomeClass, qui se trouve dans un autre module, est exclue.
<target type="include" package="com.example" className="*Proxy" method="Get*" />
Contenu par
L'objet Probe
Sujet parent : Références concernant les éléments Probekit