O objeto de sondagem Target é uma especificação das classes e métodos aos quais a sondagem deve ser aplicada.
O objeto Target é opcional. Quando nenhum Target for especificado, a sondagem 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 | Requerida. A propriedade type determina se uma sondagem é aplicada ou não a um método de destino. Especifique include para aplicar a sondagem 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 sondagem 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 de Sondagem