O Probekit utiliza dois conjuntos de regras para determinar se um determinado método
deve ser instrumentado: regras especificadas na parte de especificações de destino
da definição de probe e regras especificadas como filtros na caixa de diálogo
Perfil ao ativar seu aplicativo. As especificações de destino e
os filtros influenciam na aplicação de um probe a um determinado método, mesmo que
não sejam especificados explicitamente.
Para que um probe seja aplicado a um determinado método, devem resultar dois conjuntos de regras
no método com a marca "incluído".
Para determinar se um conjunto de regras inclui o método, o Probekit considera
cada regra individualmente, na ordem em que foram organizadas, e verifica
o pacote, a classe e o nome do método em relação aos padrões da
regra. Tão logo haja uma correspondência, o método é marcado como "incluído" ou
"excluído", conforme indicado na regra. Essa primeira correspondência determina os resultados
do método; nenhuma outra regra é verificada. Há uma regra implícita "incluir
tudo" no final de cada conjunto, portanto, se um conjunto estiver vazio ou se não houver
regra cujos padrões correspondam ao método, o método será incluído.
Para sondar um método específico ou um conjunto de métodos, utilize as especificações de destino,
os filtros ou uma combinação de ambos:
- As especificações de destino são apropriadas para probes destinados a sempre
investigar um método específico ou um conjunto de métodos. Para obter informações, leia Especificações de Destino do Probe.
- Os filtros são apropriados quando a conexão entre o probe e seus
destinos não é tão próxima. Para obter informações, leia Coletando Dados do Probe: Uso Básico.
- Uma combinação de especificações de destino e filtros fornece grande flexibilidade
na aplicação dos probes.
Por exemplo, suponha que você grave um probe
destinado a reunir informações sobre servlets em execução nos servidores de aplicativos.
Você pode utilizar as especificações de destino para informar que o probe
deve ser aplicado somente a métodos chamados doPut:

Observe que essas especificações de destino não limitam o pacote ou a classe
ao qual o probe se aplica. Como resultado,
o probe pode coletar dados para todos os métodos doPut em todas as classes
executadas.
Para qualquer execução especificada, no entanto, você deseja, como de costume, apenas
coletar dados sobre o método doPut em uma classe específica, por exemplo,
a classe myServlet. Para isso, configure um filtro na caixa de diálogo
Perfil ao ativar o aplicativo:

Com
esse filtro local e as regras de destino especificadas no próprio probe,
a execução coleta informações para o método doPut específico que você
deseja investigar. O probe pode ser reutilizado para outros métodos doPut
especificando-se uma classe diferente no filtro ao ativar o probe.