Une spécification de cible indique les classes et les méthodes auxquelles la sonde doit être appliquée.
La spécification de cible est optionnelle. Si aucune cible n'est spécifiée, la sonde s'applique à toutes les classes traitées par le moteur d'instrumentation.
Les spécifications de cible vous permettent de créer des règles de filtre afin d'inclure ou d'exclure des méthodes de l'instrumentation basée sur des motifs qui sont comparés au nom de package, classe et méthode, ainsi qu'à la signature de la méthode. Les motifs peuvent comporter des caractères génériques, "*" correspondant à zéro ou plusieurs caractères.
Si les masques génériques d'un objet cible 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 motifs 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* correspond à toutes les classes du package java.util, et de ses sous-modules. 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 la signature de méthode. (La signature est la chaîne représentant les arguments et le type de retour de la méthode.) Utilisez le format Java interne pour les signatures de méthode. 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 :
Pour spécifier une cible, sélectionner Cible dans le panneau d'arborescence de la page Sondes, et cliquez sur Ajouter, puis Editer dans le panneau d'édition.
Cet exemple n'applique la sonde qu'aux méthodes dont le nom commence par Get, dans les classes dont le nom se termine par Proxy, dans le package com.example. Entrées cibles de type "inclure" et "exclure" ; l'entrée cible exclure utilise l'astérisque pour tout exclure ; l'entrée inclure spécifie exactement les méthodes à cibler. Toutes les autres classes et méthodes sont exclues de l'instrumentation.