O objeto probe Target é uma especificação das classes e métodos aos quais a probe deve ser aplicada.
O objeto Target é opcional. Quando nenhum Target for especificado, a probe será aplicada a todas as classes que forem processadas pelo mecanismo de instrumentação.
O objeto Target permite criar regras de filtragem para incluir ou excluir métodos da instrumentação com base nos padrões que são correspondidos no pacote, na classe e no nome do método, mais a assinatura do método. Os padrões podem conter curingas, em que "*" corresponderá a zero ou mais caracteres.
Se os padrões de curingas de Target corresponderem a um pacote, classe, nome e assinatura de um método, a propriedade type determinará se o método será instrumentado (include) ou não (exclude). Se os padrões não corresponderem a um pacote, classe, nome e assinatura de um método, por padrão, o método será instrumentado.
Propriedade | Descrição |
---|---|
type | Obrigatório.A propriedade type determina se uma probe é aplicada ou não a um método de destino. Especifique include para aplicar a probe em classes e métodos que correspondem aos padrões de curingas, exclude para excluí-los. |
package | Opcional. Especifique um padrão de curinga para corresponder à parte dos nomes de classe de um pacote. Por exemplo: java.util* corresponderá a cada classe no pacote java.util e em seus subpacotes. Se não for especificado, o valor padrão será *. |
className | Opcional. Especifique um padrão de curinga para corresponder aos nomes de classes. Se não for especificado, o valor padrão será *. |
method | Opcional. Especifique um padrão de curinga para corresponder aos nomes de métodos. Se não for especificado, o valor padrão será *. |
signature | Opcional. Especifique um padrão de curinga para corresponder a uma assinatura de método - ou seja, a cadeia que representa os argumentos e o tipo de retorno do método. Ele está no formato interno Java para assinaturas de método. Por exemplo: (Ljava/lang/Object;)D é a assinatura de um método que utiliza um Objeto como um parâmetro e retorna o dobro. Esse padrão de curinga pode ser utilizado para distinguir entre métodos sobrecarregados. Se não for especificado, o valor padrão será *. |
Notas:
<target type="include" package="." class="SomeClass" method="*" /> <target type="exclude" package="*" class="*" method="*" />Essas duas regras de destino fazem com que a probe utilizem como destino a classe SomeClass no pacote global, enquanto exclui todas as outras classes. Por essas regras, uma classe chamada SomeClass que está em qualquer outro pacote será excluída.
<target type="include" package="com.example" className="*Proxy" method="Get*" />
Contido por
O Objeto Probe
Tópico-pai: Referência do Kit Probe