Introdução: Detecção de Gargalo de Desempenho

Os gargalos de desempenho são locais em seu aplicativo que o impedem de executar tão rápido quanto deveria. A perspectiva Profiling and Logging (Traçado de Perfil e Log) inclui visualizações para examinar o desempenho e detectar gargalos.

Você pode utilizar as seguintes visualizações para detectar gargalos de desempenho:

Coletando Dados para a Detecção de Gargalo de Desempenho

Pré-requisitos:
  • O Agent Controller deve estar em execução na máquina onde está coletando dados. Para obter informações, consulte o guia de instalação.
    Nota: Se desejar analisar as chamadas entre cliente e servidor em programas distribuídos, você não poderá utilizar o Agent Controller para coletar dados. Em vez disso, utilize o coletor de dados Tivoli ARM, que está disponível, junto com a documentação para seu uso, no IBM Rational Performance Optimization Toolkit para Rational Performance Tester. Se você tiver direcionado os dados para o programa para rastrear arquivos (arquivos trcxml), leia Importando Dados de Desempenho.
  • É necessário criar uma configuração de traçado de perfil. Leia Introdução: Criando uma Configuração de Traçado de Perfil para a Determinação de Problemas de Tempo de Execução

Para coletar dados:
  1. Na página Profiling (Traçado de Perfil) da caixa de diálogo Profile (Perfil), selecione um dos seguintes conjuntos de traçado de perfil:
    • Execution History - Performance Call Graph (Histórico de Execução - Gráfico de Chamada de Desempenho). Esse conjunto de traçado de perfil contém o tipo de traçado de perfil Performance Call Graph Analysis (Análise do Gráfico de Chamada de Desempenho), que coleta dados utilizando um formato compacto para acelerar o processo de coleta de dados. Esse tipo de traçado de perfil suporta todas as visualizações de detecção de gargalos de desempenho, exceto as visualizações UML2 Sequence Diagram.
    • Execution History - Full Graphical Detail (Histórico da Execução - Detalhe Gráfico Completo). Esse conjunto de traçado de perfil contém o tipo de traçado de perfil Execution Time Analysis (Análise de Tempo de Execução), que suporta todas as visualizações para detectar gargalos de desempenho.
  2. Clique em Profile (Perfil) para iniciar seu aplicativo.
  3. Utilize o aplicativo, exercitando a rotina desejada para investigar gargalos de desempenho. Os dados de desempenho são coletados e registrados em um recurso de traçado de perfil Performance Call Graph (Gráfico de Chamada de Desempenho) ou em um Execution Time Analysis (Análise do Tempo de Execução), sendo que ambos são exibidos no Profiling Navigator (Navegador de Traçado de Perfil). Agora é possível finalizar seu aplicativo.

Utilizando as Visualizações Performance Call Graph e Method Details para Detectar Gargalos de Desempenho

As visualizações Performance Call Graph (Gráfico de Chamada de Desempenho) e Method Details (Detalhes do Método) exibem todos os dados de desempenho cronometrados para a execução. A visualização Gráfico de Chamada de Desempenho apresenta uma visualização global dos dados para toda a execução, enquanto a visualização Detalhes do Método exibe os dados método a método.

Para detectar gargalos de desempenho:
  1. Exiba a visualização Performance Call Graph (Gráfico de Chamada de Desempenho): Clique com o botão direito do mouse no recurso de traçado de perfil Performance Call Graph Analysis ou Execution Time Analysis (Análise de Tempo de Execução) para os dados coletados e, em seguida, clique em Open With (Abrir com) > Performance Call Graph (Gráfico de Chamada de Desempenho).
    • O gráfico inicialmente exibe nós para os 20 métodos que são responsáveis pelo maior consumo de tempo.
    • As linhas entre os nós representam caminhos de chamada. As linhas mais grossas são utilizadas para os caminhos de chamada mais caros.
    • Você pode gerenciar os dados que são exibidos no gráfico de chamada clicando com o botão direito do mouse em um nó e, em seguida, clicando em um comando no menu pop-up.
  2. Identifique um método que você suspeita estar consumindo mais tempo do que deveria.
  3. Dê um clique duplo no método para abrir a visualização Method Details (Detalhes do Método).
  4. Utilize as visualizações Performance Call Graph (Gráfico de Chamada de Desempenho) e Method Details (Detalhes do Método) em conjunto para investigar o conjunto de dados inteiro. As duas visualizações são sincronizadas toda vez que um novo método é selecionado.
  5. Para examinar o código fonte de um método, se estiver disponível, clique com o botão direito do mouse no método em qualquer uma dessas visualizações e clique em Open Source (Abrir Origem).

Para obter informações adicionais, leia Detectando Gargalos de Desempenho.

Utilizando a visualização Estatísticas de Execução

Com esta visualização, você pode examinar as estatísticas de desempenho em tabelas que podem ser classificadas para isolar os pacotes, classes e métodos com pior desempenho. Estas tabelas exibem apenas estatísticas para o tempo gasto em métodos, classes e pacotes individuais; elas não têm informações sobre chamadas ou relacionamentos de chamadas.

Para utilizar essa visualização:
  1. Exiba a visualização Execution Statistics (Estatísticas de Execução): Clique com o botão direito do mouse no recurso de traçado de perfil Performance Call Graph Analysis (Análise do Gráfico de Chamada de Desempenho) ou Execution Time Analysis (Análise do Tempo de Execução) para os dados coletados e, em seguida, clique em Open With (Abrir Com) > Execution Statistics (Estatísticas de Execução).
  2. Clique no ícone de informações do nível de pacote Botão Informações do nível do pacote, informações do nível de classe Botão Informações do nível da classe ou informações do nível de método Botão Informações do nível do método para gerenciar a exibição de dados.
  3. Utilize esta visualização para focar as visualizações Performance Call Graph (Gráfico de Chamada de Desempenho) e Method Details (Detalhes do Método) em gargalos potenciais.

Utilizando as Visualizações Execution Flow (Fluxo de Execução), Method Invocation (Chamada de Método) e UML2 Sequence Diagram (Diagrama de Seqüência UML2)

Com estas visualizações, é possível distinguir as diferentes maneiras de chamar o mesmo método. Você pode exibir dados de chamada de método e dados de fluxo de execução no formato gráfico ou tabular.

Para utilizar essas visualizações:
  1. Para examinar hot spots potenciais no desempenho do código, clique com o botão direito do mouse no recurso de traçado de perfil Performance Call Graph Analysis (Análise do Gráfico de Chamada de Desempenho) ou Execution Time Analysis (Análise do Tempo de Execução) e, em seguida, clique em Open With (Abrir Com) > Execution Flow (Fluxo de Execução). A visualização mostra uma representação de toda a execução do programa. Você pode aumentar o zoom para focar nos hot spots. A linha de status na borda inferior da visualização exibe valores de tempo acumulativos quando você coloca o cursor sobre uma chamada de método.

    Você pode ver estas mesmas informações no formato de tabela clicando com o botão direito do mouse na visualização Execution Flow (Fluxo de Execução) e, em seguida, clicando em Show Execution Table (Mostrar Tabela de Execução).

  2. Para exibir dados para uma única chamada de um método, selecione essa chamada na visualização Execution Flow (Fluxo de Execução) ou Execution Flow Table (Tabela do Fluxo de Execução), clique com o botão direito do mouse e clique em Show Method Invocation (Mostrar Chamada de Método). Observe que você não poderá selecionar um método se estiver no modo de zoom.
  3. Para exibir dados para todas as chamadas do método, na visualização Method Invocation (Chamada de Método), clique com o botão direito do mouse e, em seguida, clique em Show Invocation Table (Mostrar Tabela de Chamada) para abrir a visualização Method Invocation Table (Tabela de Chamada de Método).
  4. Para examinar os mesmos dados no formato de diagrama de seqüência UML2 (disponível se você utilizou o tipo de traçado de perfil Execution Time Analysis), clique com o botão direito do mouse no recurso de traçado de perfil Execution Time Analysis (Análise de Tempo de Execução) para os dados coletados e, em seguida, clique em Open With (Abrir com), seguido pela visualização UML2 do tipo de interações que deseja analisar.
Feedback
(C) Copyright IBM Corporation 2000, 2005. Todos os Direitos Reservados.