Exercício 1.2: Coletando Dados de Encadeamento

Antes de iniciar, você deve concluir o Exercício 1.1: Importando o Recurso Requerido.

Cenário: O programa que será investigado é executado brevemente e, em seguida, é interrompido abruptamente. Isso acontece sempre que você executa o programa. Esse comportamento é típico de conflitos de encadeamento, assim você precisa investigar como os encadeamentos neste programa interagem.

Para localizar os possíveis conflitos de encadeamento, primeiro você coletará os dados do encadeamento e, em seguida, analisará os dados utilizando a Thread View (visualização Encadeamento) na perspectiva Profiling and Logging (Traçado de Perfil e Log).

A coleta de dados de encadeamento permitirá identificar o conflito ou excluir encadeamentos da causa do defeito do aplicativo.

Preparando para Coletar Dados de Encadeamento

Para coletar dados de encadeamento, você precisa estar na perspectiva Criação de Perfis e de Logs. Para alternar para essa perspectiva:

  1. Na barra de menus Plataforma de Desenvolvimento de Software, selecione Window (Janela) > Open Perspective (Abrir Perspectiva) > Other (Outra). A caixa de diálogo Selecionar Perspectiva é aberta.
  2. No lado inferior esquerdo da caixa de diálogo, clique em Show all (Mostrar tudo). Uma marca aparece na caixa de opções.
  3. A partir da lista de perspectivas, selecione Profiling and Logging (Definição de Perfil e Log) e clique em OK.
  4. Se a caixa de diálogo Confirmar Ativação abrir, clique em Always enable capabilities and don't ask me again (Sempre ativar os recursos sem precisar perguntar) e depois clique em OK.
  5. A Plataforma de Desenvolvimento de Software é alternada para a perspectiva de Definição de Perfil e Log.

Coletando Dados de Encadeamento para o Aplicativo philosopher

Para coletar dados:

  1. Na barra de menus Plataforma de Desenvolvimento de Software, clique em Window (Janela) > Show View (Mostrar Visualização) > Console para abrir a visualização Console. A visualização Console permite que você siga o aplicativo durante seu processamento.
  2. Crie uma configuração de criação de perfil:
    1. Na barra de menus, clique em Run (Executar) > Profile (Perfil). A caixa de diálogo Profile (Perfil) é aberta.
    2. Na lista de Configurações, clique duas vezes na entrada Java Application (Aplicativo Java). Uma entrada New_configuration aparece.
    3. No campo Nome, digite PhilosopherThreads.
    4. Na guia Principal, se philosopher ainda não estiver inserido no campo Projeto, faça o seguinte:
      1. Próximo do campo Projeto, clique em Search (Procurar). A caixa de diálogo Seleção de Projeto é aberta.
      2. Selecione philosopher e, em seguida, clique em OK.
    5. Próximo do campo Classe Principal, clique em Search (Procurar).
    6. Na caixa de diálogo Escolher Tipo Principal, clique em MaitreDHote e, em seguida, clique em OK.
    7. Clique na guia Profiling (Traçado de Perfil).
    8. Na subguia Visão Geral, selecione o conjunto de traçado de perfil Thread Analysis (Análise de Encadeamento). (Um conjunto de definição de perfil define o tipo de dados de definição de perfil que deve ser coletado para a execução.)
  3. Clique em Profile (Perfil). O aplicativo é executado e a exibição é alterada como a seguir:

    Visualização de Console com Saída de Programa

Quando o aplicativo alcança um determinado ponto, ele pára o processamento.  Nessa execução, contudo, você coletou dados do encadeamento e agora poderá analisar porque ele parou.

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.

Após coletar os dados, você estará pronto para começar o Exercício 1.3: Identificando um gargalo de encadeamento.

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