L'objet de sonde Target représente une spécification des classes et des méthodes auxquelles la sonde est appliquée.
L'objet Target est facultatif. Si aucun objet Target n'est indiqué, la sonde s'applique à toutes les classes traitées par le moteur d'instrumentation.
L'objet Target permet de créer des règles de filtrage afin d'inclure ou d'exclure des méthodes de l'instrumentation en fonction des masques que respecte le nom, le package et la classe de la méthode, ainsi que sa signature. Les masques peuvent comporter des caractères génériques, "*" correspondant à zéro ou plusieurs caractères.
Si les masques génériques d'un objet Target correspondent au package, à la classe, au nom et à la signature de la méthode, la propriété type détermine si cette méthode est instrumentée (include) ou non (exclude). Si les masques ne correspondent pas au package, à la classe, au nom et à la signature d'une méthode, celle-ci est par défaut instrumentée.
Propriété | Description |
---|---|
type | Obligatoire. La propriété type détermine si une sonde est ou non appliquée à une méthode cible. Entrez include pour appliquer la sonde aux classes et méthodes correspondant aux masques génériques, ou exclude pour les exclure. |
package | Facultatif. Indiquez un masque générique à comparer avec la partie du package des noms de classes. Par exemple : java.util* correspondra à chaque classe dans le package java.util et ses sous-packages. Sans indication particulière, la valeur par défaut est *. |
className | Facultatif. Indiquez un masque générique à comparer avec les noms de classes. Sans indication particulière, la valeur par défaut est *. |
method | Facultatif. Indiquez un masque générique à comparer avec les noms de méthodes. Sans indication particulière, la valeur par défaut est *. |
signature | Facultatif. Indiquez un masque générique à comparer avec une signature de méthode, à savoir la chaîne représentant les arguments et le type de retour de la méthode. Il s'agit du format interne Java pour les signatures de méthodes. Par exemple : (Ljava/lang/Object;)D est la signature d'une méthode qui prend un objet comme paramètre et renvoie un double. Le masque générique peut servir à distinguer plusieurs méthodes surchargées. Sans indication particulière, la valeur par défaut est *. |
Remarques :
<target type="include" package="." class="SomeClass" method="*" /> <target type="exclude" package="*" class="*" method="*" />Avec ces deux règles de ciblage, la sonde cible la classe SomeClass dans le package global tout en excluant le reste des classes. Selon ces règles, une classe nommée SomeClass et figurant dans un autre package est exclue.
<target type="include" package="com.example" className="*Proxy" method="Get*" />
Figurant dans
Objet de sonde
Rubrique parent :
Référence Probekit