Exercício 1.3: Aplicando seu Probe

Antes de começar, você deve concluir o Exercício 1.2: Criando seu Primeiro Probe.

Agora que você criou o probe RandomNumbersProbe e corrigiu todos os erros, poderá executar o programa RandomNumbers e aplicar o probe nele. Note que não é necessário modificar o projeto que contém o programa RandomNumbers.

Primeiro, vamos executar o programa RandomNumbers sem o probe.

O programa seleciona um número aleatório entre um e dez. Se o número aleatório for 10, a simulação é finalizada com um "acerto". Caso contrário, o programa seleciona números aleatórios até que (A) o novo número corresponda ao primeiro número ou (B), o novo número seja 10. No caso (A) a simulação relata um "acerto". No caso (B) a simulação relata um "erro".

Para executar o programa:

  1. Na barra de menus do Software Development Platform, clique em Window (Janela) > Show View (Mostrar Visualização) > Console. A visualização Console é aberta.
  2. Na visualização Explorador de Pacotes, expanda as entradas RandomNumbers e default package (pacote padrão).
  3. Clique com o botão direito do mouse no arquivo RandomNumbers.java, em seguida, clique em Run (Executar) > Java Application (Aplicativo Java).

A saída na visualização Console será semelhante ao seguinte:

Random number simulation now starting.
Next selected random value: 7.
The initial random value is not ten. Looking for a match.
Target value is 7
Next selected random value: 5.
No match, not a ten. Continuing.
Target value is 7
Next selected random value: 8.
No match, not a ten. Continuing.
Target value is 7
Next selected random value: 7.
A match occurred before a ten: hit.

Agora, execute o programa novamente, mas desta vez aplique o probe:

  1. Na visualização Explorador de Pacotes, clique com o botão direito do mouse no arquivo RandomNumbers.java e selecione Profile (Perfil) > Java Application (Aplicativo Java). O diálogo Propriedades para RandomNumbers é aberto, permitindo editar as propriedades da configuração de ativação.
  2. Selecione a guia Criação de Perfil.
  3. Na lista de conjunto de criação de perfis, selecione o conjunto de criação de perfis Exemplo de Probe e clique em Edit (Editar). A caixa de diálogo Edit Profiling Set (Editar Conjunto de Definição de Perfil) é aberta.
  4. Clique em Next (Avançar). A página Profiling Types (Tipos de Traçado de Perfil) é aberta para que você possa editar as propriedades do tipo de traçado de perfil Probe Insertion (Inserção de Probe). Seu probe, RandomNumbersProbe, aparece na lista de probes selecionáveis.
  5. Clique na caixa de opções de RandomNumbersProbe para incluir uma marca e certifique-se de que outros probes que possam estar listados não estejam marcados.
  6. Clique em Next (Avançar). A página Filter Set (Conjunto de Filtros) é aberta. Você utilizará essa página para certificar-se de que o probe seja aplicado apenas às classes e aos métodos destinados.
  7. Certifique-se de que o conjunto de filtros Padrão esteja selecionado. Todo conjunto de filtros contém, como sua última entrada, uma regra "incluir tudo" implícita, portanto esse conjunto de filtros exclui todas as classes, exceto aquelas em seu próprio programa.
  8. Clique em Finish (Concluir), em seguida, OK.
  9. Se a caixa de diálogo "Confirmar Comutação de Perspectiva" for aberta, clique em Yes (Sim). O Software Development Platform é alternado para a perspectiva Profiling and Logging (Criação de Perfis e de Logs) e o programa é executado. O probe selecionado é aplicado às suas classes conforme elas são carregadas e o fragmento de "entrada" do probe é acionado conforme os métodos são executados.
    Nota: Se você receber uma Mensagem de Segurança avisando que o Agent Controller não está disponível, leia Se Você Não Pôde Coletar Dados.
  10. Se a visualização Console ainda não estiver sendo exibida, selecione Window (Janela) > Show View (Mostrar Visualização) > Console para abri-la.

A visualização Console exibe a saída comum do programa RandomNumbers, mais a saída gerada pela lógica do probe. Ela será semelhante ao seguinte:

[Enter method RandomNumbers.main]
[Enter method RandomNumbers.<init>]
[Enter method RandomNumbers.runSimulation]
Random number simulation now starting.
[Enter method RandomNumbers.getRandomNumber]
Next selected random value: 2.
The initial random value is not ten. Looking for a match.
Target value is 2
[Enter method RandomNumbers.getRandomNumber]
Next selected random value: 2.
A match occurred before a ten: hit.

Como é possível observar, a saída do fragmento de "entrada" do probe aparece juntamente com a saída do próprio programa. Observe que a saída do probe está entre colchetes porque a chamada System.out.println foi gravada dessa maneira no fragmento.

Se Você Não Pôde Coletar Dados

Antes que você possa coletar qualquer tipo de dados de definição de perfil, o Agent Controller deve estar em execução. Se você receber uma mensagem avisando que o Agent Controller não está disponível, certifique-se de que o Agent Controller foi instalado, inicie-o manualmente e tente novamente. Para obter instruções, consulte o guia de instalação. É possível acessar o guia de instalação utilizando a barra de lançamento, ou ainda é possível encontrá-lo no CD do produto em disk1/install.html.

Você criou e utilizou um probe simples que relata sempre que um método é digitado em seu programa. Agora você está pronto para começar o Exercício 1.4: Criando Probes Mais Avançados.

Feedback
(C) Copyright IBM Corporation 2000, 2005. Todos os Direitos Reservados.