Descrição geral do Probekit

O Probekit constitui uma estrutura na plataforma Eclipse que se pode utilizar para compor e utilizar sondas. As sondas são fragmentos de código Java™ que se podem inserir num programa para facultar informações sobre o mesmo durante a execução.

Para compreender o conceito de sonda, comece com o exemplo de sonda aqui descrito. Trata-se de uma sonda básica que imprime uma mensagem que identifica cada método chamado quando o programa é executado.

As sondas definem-se com entradas que se fazem no editor do Probekit. Este exemplo contém um único fragmento; os fragmentos determinam o que a sonda realiza. Seguem-se definições de fragmentos:

Este é o aspecto da sonda no editor do Probekit:

Editor do Probekit mostrando entradas para o exemplo de código básico descrito no tópico da ajuda.

Depois de criar uma sonda com o editor do Probekit, pode aplicá-la aos ficheiros jar e de classes do seu projecto. Em seguida, quando executar o projecto, o código do fragmento será executado junto com o programa em questão.

Segue-se uma descrição geral da criação e utilização de sondas, incluindo informações sobre a ajuda que se pode obter do Probekit:
  1. Utiliza-se o editor do Probekit para criar sondas em ficheiros origem do Probekit. Os ficheiros origem do Probekit têm de conter a extensão .probe. Podem conter uma ou mais sondas e cada sonda pode conter um ou mais fragmentos de sonda.
  2. O Probekit junta os fragmentos de sonda num conjunto de métodos Java e em seguida compila-os. Quando o Probekit compila uma sonda, combina os fragmentos da sonda com texto habitual Java, e gera código fonte Java para uma nova classe de sondas. As funções geradas pelos fragmentos de sonda aparecem como métodos estáticos da nova classe de sondas.
  3. Quando se aplica uma sonda, especificam-se classes destino e ficheiros jar que se pretende investigar. O motor BCI (byte-code instrumentation - instrumentação de código de bytes) do Probekit remete para a lista de sondas disponíveis e respectivos padrões destino e insere chamadas de métodos de fragmentos de sondas nos programas destino. O processo de inserção de instruções de chamada em métodos destino denomina-se instrumentação. Uma classe que contenha um método instrumentado denomina-se classe sondada. Os artigos de dados solicitados por um fragmento de sonda (por exemplo, o nome do método e o nome da classe) são transmitidos enquanto argumentos.
  4. Após a aplicação ter sido instrumentada. Os fragmentos de sonda são executados quando o programa for executado.
O tipo do fragmento de sonda determina o momento de execução de um fragmento. Poderá especificar tipos que façam com que o fragmento seja executado nas seguintes ocasiões:

Os fragmentos de sondas podem aceder a artigos de dados que facultem diversas espécies de informações sobre a aplicação em que estão inseridos. Por exemplo:

Se quiser que a sua sonda seja aplicada somente a certas classes e métodos, especifique destinos ou configure filtros. Para mais informações, consulte Destinos e filtros de sondas.

Conceitos relacionados
Trabalhar com sondas
Sondas de método versus sondas de callsite
Referência relacionada
Exemplos de Probekit