Hyades v3.0.1 - Notas sobre o Release


1.0 Problemas e Limitações Conhecidos
1.1 Generic Log Adapter
1.1.1 Problemas ao Executar Regras do Generic Log Adapter Utilizando o JRE (Java Runtime Environment) v1.4.1 da IBM
1.2 Data Collection Engine
1.2.1 O Texto do Console é Truncado ao Definir Perfis de um Aplicativo Java em um Sistema DBCS
1.2.2 A Cópia de Arquivo do Data Collection Engine Não Funciona no HP 11i
1.2.3 O Data Collection Engine Relata o Erro "sh: sysdef: não localizado" no Solaris
1.2.4 O Data Collection Engine em Execução com um Sun JVM no Linux Entra em um Loop Infinito
1.2.5 A Extensão do Agente Não Funciona em Sistemas iSeries
1.2.6 Não São Permitidas Várias Instâncias do Data Collection Engine em uma Máquina
1.3 Log and Trace Analyzer
1.3.1 Impossível Definir um Caminho de Trabalho ao Definir Perfis
1.3.2 Agentes e Processos São Perdidos ao Fechar o Monitor de Definição de Perfis
1.3.3 Atualizar Visualizações Pode Não Funcionar Dependendo da Seleção no Monitor de Definição de Perfis
1.4 Probekit
1.4.1 *O Programa ProbeInstrumenter Separa o Diretório META-INF Inteiro de Arquivos jar
1.4.2 *O Programa ProbeInstrumenter Emite uma Exceção ao Instrumentar Algumas Classes
1.5 Ferramenta de Definição de Perfis
1.5.1 Problema com a Coleta de Lixo ao Utilizar o IBM JDK 1.4.1
1.5.2 Com o Sun JVM, Algumas Chamadas de Método Não São Rastreadas
1.5.3 Definir Perfis no Solaris Utilizando o Sun JDK 1.4.x Pode Travar a JVM
1.5.4 Possível Travamento ao Executar no Modo Independente com STACK_INFORMATION=contiguous no Solaris
1.5.5 Valores Negativos de Tempo Limite para Eventos WAIT e WAITED
1.5.6 Dumps Incorretos do Monitor com o IBM JDK 1.4.2
1.6 Console de Estatísticas
1.7 Teste
1.7.1 Problemas Comuns de Teste
1.7.1.1 Os Testes de JUnit, Manuais e de URL Não Funcionam no iSeries
1.7.1.2 A Implementação e Execução Automatizadas de Testes Utilizando Plataformas Heterogêneas Não Funcionam
1.7.1.3 Execução Remota com Implementação Manual
1.7.1.4 Acesso ao Datapool
1.7.2 Teste de URL do Hyades
1.7.2.1 Relatórios de Tempo de Resposta e de Proporção de Número de Visitas do URL Não São Visíveis no Navegador de Testes
1.7.2.2 O Gravador de Testes de URL Exibe "IWAT3042E Gravação Interrompida Devido à Exceção: Nula"
1.7.2.3 Executando Testes de URL como Testes de JUnit
1.7.2.4 Executando a Amostra do Teste de URL
1.7.2.5 O readme.html da Amostra de Teste de URL Refere-se Incorretamente a 'Teste de Componente'

1.0 Problemas e Limitações Conhecidos

1.1 Generic Log Adapter

1.1.1 Problemas ao Executar Regras do Generic Log Adapter Utilizando o JRE (Java Runtime Environment) v1.4.1 da IBM

O IBM JDK 1.4.1 fornecido em 2003 causa problemas no analisador de log de acesso ao Apache baseado em regras.

O SR2 (Service Release), e superior, é necessário ao executar o JRE (Java Runtime Environment) v1.4.1 da IBM para utilizar o Generic Log Adapter e/ou ao importar arquivos de log no Hyades utilizando um analisador de arquivo de log baseado em regras.

1.2 Data Collection Engine

1.2.1 O Texto do Console é Truncado ao Definir Perfis de um Aplicativo Java em um Sistema DBCS

Ao definir perfis de um aplicativo Java remoto no Eclipse em um sistema DBCS (por exemplo, Chinês Tradicional, Chinês Simplificado, Japonês, Coreano), a saída do console é exibida como texto truncado. Esse problema ocorre em todas as plataformas, exceto Z/OS e iSeries.

Para solucionar esse problema, inclua um argumento de Java VM -Dconsole.encoding=UTF8 ao ativar o aplicativo Java remoto. Isso assegurará codificação apropriada ao transferir a saída do console do lado remoto de volta para o workbench do Eclipse.

1.2.2 A Cópia de Arquivo do Data Collection Engine Não Funciona no HP 11i

A cópia de arquivo não funciona porque o servidor de arquivos não inicializa. Isso ocorre porque a biblioteca JVM libjvm.sl não está sendo carregada no tempo de execução, que por sua vez causa a não execução do servidor de arquivos.

Para solucionar isso, a versão de correção do linker PHSS_30049, ou superior, é necessária. A versão do linker na correção 30049 é a seguinte:

/bin/ld:
$Revisão: 1.5 $
HP aC++ B3910B X.03.37.01 Biblioteca Iostream Clássica
HP aC++ B3910B X.03.37.01 Biblioteca de Suporte ao Idioma
ld_msgs.cat: $Revisão: 1.5 $
92453-07 linker command s800.sgs ld PA64 B.11.38 REL 031217

Para verificar o número da versão: what /bin/ld

Para listar as correções instaladas: swlist -l fileset

Execute o grep para "ld" para obter o número da versão para a correção cumulativa das ferramentas ld e linker.

1.2.3 O Data Collection Engine Relata o Erro "sh: sysdef: não localizado" no Solaris

O Hyades Data Collection Engine utiliza o comando sysdef para obter o tamanho máximo para um buffer de memória compartilhada em seu sistema. Se o Data Collection Engine não puder executar o sysdef, ele utilizará o dataChannelSize="30M" especificado no arquivo <RAServer>/plugins/org.eclipse.hyades.datacollection/pluginconfig.xml. O seguinte erro será relatado no console no qual o RAServer.exe foi ativado:

sh: sysdef: não localizado
Para solucionar esse problema, inclua o diretório /usr/sbin, que contém o sysdef, na variável PATH.

1.2.4 O Data Collection Engine em Execução com um Sun JVM no Linux Entra em um Loop Infinito

Ao executar o Data Collection Engine em uma máquina Linux com uma JVM Sun 1.4.2_04, o mecanismo entra em um loop infinito. As mensagens a seguir são registradas no servicelog.log com as últimas três linhas repetidas continuamente até que um comando kill seja emitido para parar o processo RAServer:
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMAÇÃO" text="Serviço iniciando"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMAÇÃO"
text="Plugin carregado com êxito: org.eclipse.hyades.datacollection"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMAÇÃO"
text="Plugin carregado com êxito: org.eclipse.hyades.logging.parsers"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMAÇÃO"
text="Plugin carregado com êxito: org.eclipse.hyades.test"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMAÇÃO"
text="Configuração ativa definida para: padrão"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMAÇÃO"
text="Configuração carregada: padrão"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="INFORMAÇÃO"
text="Serviço iniciado com êxito"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="AVISO" text="Servidor parando"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="AVISO" text="Servidor interno fechado"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="AVISO" text="Servidor externo fechado"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="AVISO" text="Servidor parando"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="AVISO" text="Servidor interno fechado"/>
<SERVER_MSG time="2004:6:3:17:42:49" severity="AVISO" text="Servidor externo fechado"/>
Para solucionar esse problema, defina LD_LIBRARY_PATH apontando para todos os arquivos .so antes de iniciar o Data Collection Engine. Por exemplo, antes de executar o RAServer, emita este comando:
export 
LD_LIBRARY_PATH=/opt/j2sdk1.4.2_04/jre/lib/i386/server:/opt/j2sdk1.4.2_04/jre/li
b/i386

1.2.5 A Extensão do Agente Não Funciona no iSeries

As extensões do agente não funcionam em sistemas iSeries.

Para solucionar esse problema, antes de iniciar o Data Collection Engine na máquina iSeries, execute o seguinte comando:

	ADDLIBLE LIBNAME
em que LIBNAME é o nome da biblioteca que contém o código de extensão do agente. Isso permitirá que o Data Collection Engine localize e carregue a biblioteca.

1.2.6 Não São Permitidas Várias Instâncias do Data Collection Engine em uma Máquina

Apenas uma instância do Data Collection Engine pode ser instalada em uma máquina. Isso significa que se você tiver instalado o mecanismo ou uma versão estendida do mecanismo com outro produto, será necessário desinstalar essa instância para que uma nova instância funcione corretamente. Por exemplo, alguns produtos IBM WebSphere Studio ou IBM Rational ou o Autonomic Computing Toolkit da developerWorks incluem instalações opcionais do Hyades Data Collection Engine sob o nome Agent Controller.

1.3 Log and Trace Analyzer

1.3.1 Impossível Definir um Caminho de Trabalho ao Definir Perfis

Defeito do Bugzilla: 61754
Atualmente, não há como definir um caminho de trabalho arbitrário ao configurar um aplicativo para definição de perfis. O campo Diretório de Trabalho fornecido na guia Argumentos para o tipo Aplicativo Java não está sendo processado e enviado corretamente pelo ativador do workbench para o Data Collection Engine. Para o tipo Aplicativo Java Externo, não há nenhum campo disponível para especificar um caminho de trabalho.

Para solucionar esse problema, siga estas etapas:

  1. Na perspectiva Definição de Perfis e Logs, clique no ícone Executar e selecione Executar.
  2. No diálogo Executar Configuração, dê um clique duplo no Aplicativo Java na lista Configurações para criar uma nova configuração.
  3. Selecione a nova configuração na lista. As informações de configuração são exibidas à direita.
  4. Selecione a guia Argumentos.
  5. Digite o argumento de VM -XrunpiAgent:server=controlled no campo Argumento de VM. Especifique um diretório de trabalho, conforme requerido.
  6. Clique em Executar.
  7. Selecione o botão Perfil e selecione Perfil.
  8. No diálogo Configuração de Definição de Perfis, selecione Anexar - Processo Java a partir da lista Configurações e especifique as informações necessárias para o processo.

1.3.2 Agentes e Processos São Perdidos ao Fechar o Monitor de Definição de Perfis

Defeito do Bugzilla: 51161
Se dados não salvos forem exibidos na visualização Monitor de Definição de Perfis, como agentes ou processos, eles serão perdidos quando a visualização for fechada. É recomendável que todo o conteúdo seja salvo no Monitor de Definição de Perfis antes da visualização ser fechada.
Nota: Abrir uma nova perspectiva, em seguida, alternar de volta para a perspectiva Definição de Perfis e Logs não causará perda de dados.

1.3.3 Atualizar Visualizações Pode Não Funcionar Dependendo da Seleção no Monitor de Definição de Perfil

Defeito do Bugzilla: 71567
Quando a opção Efetuar Link com o Visualizador for desativada no Monitor de Definição de Perfis, a ação Atualizar Visualizações (na mesma barra de ferramentas) funcionará apenas quando a seleção atual no Monitor de Definição de Perfis corresponder à visualização atualmente aberta.

Para solucionar esse problema, execute um dos seguintes procedimentos:

1.4 Probekit

1.4.1 O Programa ProbeInstrumenter Separa o Diretório META-INF Inteiro de Arquivos jar

Defeito do Bugzilla: 68309
O programa "ProbeInstrumenter" do Probekit separa o diretório META-INF inteiro de arquivos jar em que ele opera. Isso não será prejudicial se o diretório META-INF contiver apenas o arquivo MANIFEST.MF padrão.

Se o diretório META-INF do arquivo jar contiver arquivos diferentes do arquivo MANIFEST.MF, siga estas etapas para preservar esses arquivos no arquivo jar instrumentado:

  1. Extraia o conteúdo do diretório META-INF do arquivo jar em um diretório temporário com o seguinte comando:
    jar xf yourfile.jar META-INF
  2. Execute o ProbeInstrumenter normalmente para instrumentar o conteúdo do arquivo jar.
  3. Coloque o conteúdo do diretório temporário META-INF no arquivo jar instrumentado com o seguinte comando:
    jar uf yourfile.jar META-INF
  4. Remova o diretório temporário META-INF.

Nota: Isso foi corrigido na V6.0.0.1.

1.4.2 O Programa ProbeInstrumenter Emite uma Exceção ao Instrumentar Algumas Classes

Defeito do Bugzilla:68435
Durante a instrumentação de algumas classes, o programa "ProbeInstrumenter" do Probekit emite uma exceção com a seguinte mensagem de erro:

Exceção do Probe Kit número 4 do local 3

Essa exceção seria causada pelos métodos que contêm códigos de bytes não alcançáveis após a última instrução alcançável de um método. Alguns compiladores Java produzem esse código.

Atualmente não existe solução alternativa para esse problema.

Nota: Isso foi corrigido na V6.0.0.1.

1.5 Ferramenta de Definição de Perfis

1.5.1 Problema com a Coleta de Lixo ao Utilizar o IBM JDK 1.4.1

56182

Se o aplicativo do usuário utilizar uma quantidade extremamente grande de espaço de heap, a solicitação de Coletar Referências de Objeto ou Executar GC poderá possivelmente causar travamento da JVM com a seguinte mensagem de erro:

 **Sem memória, interrompendo**

*** estado de alarme: JVMCI023: Impossível alocar memória para coletar dump de heap no jvmpi_heap_dump

término anormal do programa

Você pode tentar solucionar isso executando sem o parâmetro -Xmx, se estiver atualmente executando com ele.

1.5.2 Com o Sun JDK, Algumas Chamadas de Método Não São Rastreadas

Defeito do Bugzilla: 69051

Utilizando o Sun JDK no Windows, determinadas chamadas de método em programas Java não estão sendo rastreadas pela JVMPI.

Não há uma solução alternativa.

1.5.3 Definir Perfis no Solaris Utilizando o Sun JDK 1.4.x Pode Travar a JVM

Defeito do Bugzilla:56404
Ao definir perfis no Solaris utilizando o Sun JDK 1.4.x, a JVM pode travar. Isso ocorre devido a um erro no Sun JVM.

Para solucionar esse problema, utilize apenas um dos seguintes conjuntos de definição de perfis:

O problema surge quanto você os utiliza em combinação ou se a informação "Mostrar nível de instância" estiver ativada.

1.5.4 Possível Travamento ao Executar no Modo Independente com STACK_INFORMATION=contiguous no Solaris

Defeito do Bugzilla: 50090
Ao definir perfis no Solaris, você pode encontrar problemas com a definição de perfis independentes. O problema ocorre apenas quando STACK_INFORMATION=contiguous (ou boundaryAndContiguous) e TRACE_MODE=full. Esse problema pode resultar em travamento da JVM.

Para solucionar esse problema com STACK_INFORMATION=contiguous, defina TRACE_MODE=noObjectCorrelation. O problema não ocorre quando STACK_INFORMATION=none ou STACK_INFORMATION=normal.

1.5.5 Valores Negativos de Tempo Limite para Eventos WAIT e WAITED

Defeito do Bugzilla: 63969

Ao executar com o IBM 1.4.2 JDK, com a opção de perfil jvmpi do Hyades 'MONITOR_MODE=all' (no modo independente), poderão aparecer atributos negativos de tempo limite nos elementos monitorWait e monitorWaited em seus rastreios. Eles são, na verdade, valores de tempo limite extremamente altos convertidos como inteiros positivos de 64 bits. Esse erro é resultado de um erro do JDK.

1.5.6 Dumps Incorretos do Monitor com o IBM JDK 1.4.2

Defeitos do Bugzilla: 65193 e 72180

Devido a um erro do JDK, ao executar o Hyades no modo independente com a opção de perfil jvmpi 'MONITOR_MODE=all', você poderá obter dumps de monitor incorretos. Especificamente para o erro 65193, isso ocorre quando o argumento de VM '-Xj9' é utilizado.

1.6 Console de Estatísticas

N/D

1.7 Teste

1.7.1 Problemas Comuns de Teste

1.7.1.1 Os Testes de JUnit, Manuais e de URL Não Funcionam no iSeries

Defeito do Bugzilla:68899

1.7.1.2 A Implementação e Execução Automatizadas de Testes Utilizando Plataformas Heterogêneas Não Funcionam

Defeito do Bugzilla:67677

A implementação/execução automatizadas de testes em sistemas remotos executados em plataformas heterogêneas (Windows para Linux ou Unix e vice-versa) não funcionam. Informações sobre como um teste pode ser executado remotamente podem ser localizadas na seção Execução Remota deste documento.

1.7.1.3 Execução Remota com Implementação Manual

Defeito do Bugzilla:68910
Um uso comum de um Teste (URL, JUnit ou Manual) é deixar o workbench (UI do Eclipse) instalado em uma máquina baseada no Windows e a execução remota em um sistema Linux ou Unix. Atualmente, a implementação automatizada não funciona entre as plataformas. Entretanto, os testes ainda podem ser executados remotamente. O arquivo que representa o teste a ser executado deve ser transferido (mais provavelmente utilizando FTP) do sistema no qual foi criado para o sistema no qual será executado. O Coletor de Dados, ou RAC, deve ser configurado para apontar para o recurso de teste que foi transferido.

Ao ser compilado, o código de byte de um teste é armazenado no diretório bin do projeto Java no qual o teste foi criado. Um exemplo seria:

[ECLIPSE_HOME]/workspace/project1/bin/test/URLTest.class

Um método para empacotar o arquivo acima para execução em um sistema remoto é criar um arquivo jar. Os comandos a seguir mostram como isso pode ser feito.

    "cd [ECLIPSE_HOME]/workspace/project1/bin"
"jar -cf test.jar test"

O arquivo test.jar pode ser transferido para a estrutura de diretórios do Coletor de Dados da máquina remota.

Em seguida, o arquivo [RAC_HOME]/config/serviceconfig.xml deve ser ajustado para apontar para o test.jar, conforme mostrado a seguir.

	<AgentControllerEnvironment configuration="default">
...
...
<Variable name="CLASSPATH" position="append" value="%RASERVER_HOME%/test/test.jar"/>
</AgentControllerEnvironment>

Quando o teste for ativado a partir do workbench, o Coletor de Dados terá um caminho de classe que aponta para o local de teste e o teste será executado.

1.7.1.4 Acesso ao Datapool

Defeito do Bugzilla:68911
A documentação que descreve o acesso a um datapool a partir de um teste do Hyades omite uma etapa e contém uma amostra de código que não funciona totalmente.

Os jars a seguir precisam ser incluídos no caminho de construção Java. ([ECLIPSE_HOME] é o diretório no qual o Eclipse foi instalado.

	[ECLIPSE_HOME]/plugins/org.eclipse.hyades.models.common_3.0.0/common_model.jar
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.test.datapool_3.0.0/datapool_api.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.ecore_2.0.0/runtime/ecore.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.common_2.0.0/runtime/common.jar

O trecho de código a seguir demonstra como acessar um datapool e extrair as informações adequadamente.  

	IDatapoolFactory dpFactory = new Common_DatapoolFactoryImpl();
IDatapool datapool = dpFactory.load(new File("d:\\hyades3.0\\workspace\\testproj\\dpoo1.datapool"), false);
IDatapoolIterator iter = dpFactory.open(datapool, "org.eclipse.hyades.datapool.DatapoolIteratorSequentialPrivate");
iter.dpInitialize(datapool, -1);

while (!iter.dpDone())
{
String firstName = iter.dpCurrent().getCell("First Name").getStringValue();
// seu código aqui
iter.dpNext();
}

1.7.2 Teste de URL do Hyades

1.7.2.1 Relatórios de Tempo de Resposta e de Proporção de Número de Visitas do URL Não São Visíveis no Navegador de Testes

Defeito do Bugzilla:68553
Os relatórios de tempo de resposta e de proporção de número de visitas do URL não são visíveis no navegador de Testes. Os relatórios podem ser localizados, abrindo o projeto sob o qual foram criados na perspectiva 'Recurso'.

1.7.2.2 O Gravador de Testes de URL Exibe "IWAT3042E Gravação Interrompida Devido à Exceção: Nula"

Defeito do Bugzilla:66199
Quando o Eclipse for ativado com o argumento '-Xj9', após várias gravações, a visualização 'Controle do Gravador' exibirá "IWAT3042E gravação interrompida devido à exceção: nula". A solução alternativa é fechar e reabrir o Eclipse.

1.7.2.3 Executando Testes de URL como Testes de JUnit

Os Testes de URL do Hyades podem ser executados como testes JUnit. Para fazer isso, as seguintes entradas devem ser incluídas no caminho de construção Java do projeto que contém o Teste de URL:

      [ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.0.0/hlcore.jar
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.core_3.0.0/hlcbe101.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.ecore_2.0.0/runtime/ecore.jar
[ECLIPSE_HOME]/plugins/org.eclipse.hyades.logging.java14_3.0.0/hl14.jar
[ECLIPSE_HOME]/plugins/org.eclipse.emf.common_2.0.0/runtime/common.jar

1.7.2.4 Executando a Amostra do Teste de URL

A Amostra do Teste de URL não será executada diretamente após sua criação. Dois artefatos devem ser configurados para que ela seja executada com êxito. A variável CLASSPATH do artifact1 deve apontar para o local do espaço de trabalho na máquina:

	[ECLIPSE_HOME]/eclipse/workspace/URL Test Sample/bin

A variável ROOTDIR do location1 deve apontar para o diretório que representa o espaço de trabalho

	[ECLIPSE_HOME]/workspace

O nome padrão da Amostra de Teste de URL contém espaços. Isso pode causar problemas para determinados sistemas operacionais. O nome da amostra pode ser alterado durante a criação.

1.7.2.5 O readme.html da Amostra de Teste de URL Refere-se Incorretamente a 'Teste de Componente'

Defeito do Bugzilla:68910

A página da Web da Amostra de Teste de URL refere-se a uma seção da ajuda on-line, denominada 'Teste de Componente', que não existe. A página da Web deveria referir-se à seção 'Teste' da ajuda on-line.

Retornar para o Arquivo Leia-me Principal