Exercício 1.2: Criando seu Primeiro Probe
Antes de começar, você deve concluir o Exercício 1.1: Importando o recurso requerido.
O probe que será criado relata sempre ao entrar em um método no programa.
A criação de um probe envolve três tarefas principais:
- Criando um Arquivo de Origem Vazio do Probekit
- Criando o Conteúdo do Arquivo de Origem
- Verificando o Probe
Criando um Arquivo Vazio do Probekit
Iremos criar o arquivo do Probekit em um projeto próprio, embora também seja possível criar probes no mesmo projeto do aplicativo.
- Crie um novo projeto Java para conter o probe:
- Na barra de menus do Software Development Platform, selecione Arquivo > Novo > Projeto... A caixa de diálogo Novo Projeto é aberta.
- Selecione Projeto Java e clique em Avançar. A caixa de diálogo Novo Projeto Java é aberta.
- No campo Nome do projeto, digite RandomNumbersProbe e clique em Concluir. Uma entrada para RandomNumbersProbe é incluída na visualização Explorador de Pacotes.
- Converta o projeto em um projeto do Probekit:
- Na visualização Explorador de Pacotes, clique com o botão direito do mouse no projeto RandomNumbersProbe recém-criado e selecione Novo > Outro... A caixa de diálogo Novo será aberta.
- Marque Mostrar Todos os Assistentes e, em seguida, expanda a entrada Criação de Perfis e de Logs.
- Selecione Converter Projetos Java em Projetos do Probekit e clique em Avançar.
- Se a caixa de diálogo Confirmar Ativação for aberta, clique em Sempre ativar os recursos e não perguntar novamente e, em seguida, clique em OK. A caixa de diálogo Converter Projetos Java em Projetos do Probekit é aberta.
- Certifique-se de que apenas o projeto RandomNumbersProbe esteja marcado e, em seguida, clique em Concluir.
- Crie um novo arquivo de origem do Probekit no projeto RandomNumbersProbe:
- Na visualização Explorador de Pacotes, clique com o botão direito do mouse em RandomNumbersProbe.
- Selecione Novo > Arquivo. A caixa de diálogo Novo Arquivo é aberta.
- Selecione RandomNumbersProbe para torná-la a pasta pai.
- No campo Nome do Arquivo, digite RandomNumbersProbe.probe e, em seguida, clique em Concluir. Uma entrada para RandomNumbersProbe.probe é incluída na visualização Explorador de Pacotes. O editor do Probekit e a visualização Problemas são abertos. O editor exibe o arquivo recém-criado.
Agora você possui um arquivo de origem vazio do Probekit em seu próprio projeto. Como o arquivo está em um projeto do Probekit e como você ativou a construção automática no espaço de trabalho, o compilador do probe tentou compilar o arquivo de origem. A visualização Problemas relata um erro porque um arquivo vazio não é um arquivo de origem válido do Probekit.
Criando o Conteúdo do Arquivo de Origem
Agora você utilizará o editor do Probekit para criar os elementos de probe que compõem um probe.
Os arquivos de origem do Probekit são estruturados em árvore. Há um elemento Probekit na parte superior. Será necessário criar um elemento Probe sob o elemento Probekit e um novo elemento Fragmento sob ele. Em seguida, será necessário indicar que esse elemento Fragmento acessará duas porções de dados: o nome da classe e o nome do método. Finalmente, é necessário gravar o próprio fragmento de código Java.
O probe que desejamos criar consiste em um único fragmento de código Java de "entrada". Um fragmento de "entrada" é aquele que é acionado no momento da entrada dos métodos especificados no programa que está sendo investigado. No probe, sempre ao entrar no método, o fragmento de "entrada" irá imprimir o nome da classe e do método. Como gravado, nosso probe será aplicado a todas as classes e métodos; ao implementá-lo, entretanto, iremos reduzir seu escopo filtrando classes do sistema como parte do procedimento de ativação.
Nota: O Probekit suporta outros tipos de fragmentos além dos fragmento de "entrada". Por exemplo, também é possível gravar fragmentos que são executados quando houver saída de métodos especificados ou quando um método especificado manipular uma exceção. Consulte o sistema de ajuda para obter informações detalhadas.
Para criar os elementos do probe:
- No editor do Probekit, clique com o botão direito do mouse no elemento Probekit e escolha Novo > Probe. Um elemento Probe é incluído na árvore.
- Clique com o botão direito do mouse no elemento Probe recém-criado e selecione Novo > Fragmento. Um elemento Fragmento é incluído sob o elemento Probe. Por padrão, os fragmentos são criados como sendo do tipo "entrada". (Note que entrada também é a seleção no campo Tipo do Fragmento no lado direito do editor do Probekit.)
- Crie uma variável para conter o nome da classe:
- Clique com o botão direito do mouse no elemento Entrada de fragmento e selecione Novos > Dados.
- No lado direito do editor do Probekit, certifique-se de que className esteja selecionado como o Tipo de Dados.
- No campo Nome, digite cname como o nome da variável.
- Crie a variável para conter o nome do método:
- Clique com o botão direito do mouse no elemento Entrada de fragmento e selecione Novos > Dados.
- Selecione methodName na lista drop-down Tipo de Dados.
- No campo Nome, digite mname como o nome da variável.
- Digite o código Java que deseja executar:
- Clique no elemento Entrada de fragmento.
- Na área Código Java, digite a seguinte linha de código:
System.out.println("[Enter method " + cname + "." + mname + "]");
- Na barra de menus, selecione Arquivo > Salvar. O compilador do probe compila automaticamente o probe a partir de seu código fonte.
Verificando o Probe
Ao salvar o probe, o compilador do probe relata erros na visualização Problemas. Verifique a visualização Problemas para ver se ocorreu algo de errado. Se existirem erros, corrija-os no editor de Probe e salve o probe novamente.
Dois tipos de erros podem ser relatados na visualização Problemas:
- Um tipo de erro é um erro estrutural no arquivo de origem do Probekit. Por exemplo, um elemento Probe não pode conter dois fragmentos do mesmo tipo. A visualização Problemas relata esse tipo de erro na coluna Recurso como erros no arquivo de origem do probe.
- O outro tipo de erro é no componente do código fonte Java de um fragmento de probe. Devido à forma que o Probekit está estruturado internamente, esses erros são na realidade relatados em um arquivo diferente, um arquivo gerado pelo Probekit que, neste caso, seria chamado de RandomNumbersProbe_probe.java. Se você der um clique duplo no erro na visualização Problemas, o arquivo de origem Java gerado será aberto. Você poderia até mesmo corrigir o problema ali, mas não deve: quaisquer alterações feitas nesse local serão sobrescritas da próxima vez que o compilador do probe gerar o arquivo a partir da origem do probe. Em vez disso, você deve examinar o arquivo Java gerado para determinar em qual fragmento o erro aparece e, em seguida, corrigir o problema nesse fragmento utilizando o editor do Probekit.
Pronto: você criou seu primeiro probe.
Agora você está pronto para começar o Exercício 1.3: Aplicando seu probe.