Definindo o Perfil de um Aplicativo no Modo Autônomo
É possível traçar o perfil de um aplicativo no modo independente (ou seja, a partir da linha de comandos), sem ter a Test and Performance Tools Platform instalada. Entretanto, é necessário ter o Agent Controller instalado na máquina em que o aplicativo a ter o perfil definido reside.
Você pode definir o perfil de um aplicativo no modo autônomo chamando o Java
Profiling Agent, que é uma biblioteca que se conecta a uma JVM (Java Virtual
Machine) para capturar e gravar o comportamento de seu aplicativo Java. A
saída do agente está no formato de fragmentos XML.
Utilize a opção -Xrun de Java para chamar o Java Profiling Agent:
-XrunpiAgent:agent_parm[,agent_parm]*
Por exemplo, para o perfil PerformanceExample.java, utilizando filtros definidos no arquivo myFilters.txt e
direcionando os dados da sessão de definição de perfil para um arquivo denominado PEProfilingData,
você digitaria o seguinte em uma linha de comandos:
java -XrunpiAgent:server=standalone,filters=myFilters.txt,file=PEProfilingData.trcxml
PerformanceExample
- Nota: Se você deseja iniciar o WebSphere
Application Server Versão 6 (WAS) no modo de traçado de perfil a partir da linha de comandos,
será necessário executar as seguintes etapas:
- Vá para <profile root>/config/cells/<nodename>Cell/nodes/<nodename>/servers/server1
- Edite o elemento jvmEntries no arquivo server.xml. Nesse elemento, há um atributo denominado genericJvmArguments. Anexe
-XrunpiAgent:server=enabled ao valor do atributo.
- Reinicie o WAS.
-
- Aumentando o parâmetro -XrunpiAgent você pode especificar vários modos
diferentes para executar o agente de definição de perfil. O parâmetro
agent_parm pode assumir um dos seguintes valores:
- server=[standalone | enabled | controlled | application]
- standalone
- O agente de definição de perfil é executado em um modo imprudente, significando que não
é possível interagir com ele pelo workbench. As informações sobre a configuração são fornecidas
pelos arquivos de configuração e os dados de definição de perfil são armazenados em um arquivo
diretamente pelo agente de definição de perfil. O arquivo de definição de perfil pode então ser importado
para o workbench em uma data posterior.
- O Java Profiling Agent é conectado manualmente a uma instância JVM e gera dados
de definição de perfil para um arquivo de saída. O arquivo de saída padrão é
denominado trace.trcxml, mas você pode especificar um nome de arquivo diferente utilizando
o parâmetro file= nome do arquivo. Quando esta opção é selecionada, o Java
Profiling Agent produz um elemento traceRoot delimitado para formar um documento XML
completo e válido.
- enabled (Este é o padrão.)
- O agente de definição de perfil é executado no segundo plano do JVM sem consumir
recursos até que é conectado pelo workbench e solicitado o início da
monitoração. Os dados, então, fluem pelo canal de dados do agente e são consumidos
pelo workbench.
Ou seja, o Java Profiling Agent é carregado, permite que o aplicativo seja executado
normalmente, mas não produz dados de definição de perfil até que um cliente conecte-se
ao agente para fornecer as instruções. Quando esta opção é selecionada, o Java
Profiling Agent produz apenas fragmentos XML em vez de um documento XML
completo.
- controlled
- O agente de definição de perfil invalida a inicialização do JVM (o agente é
carregado mas bloqueia a execução do aplicativo) até ser conectado pelo
workbench e receber instruções para iniciar a monitoração por um cliente.
Ou seja, quando o agente de definição de perfil é ativado no modo controlado, ele
parecerá interromper o JVM até solicitado a iniciar a monitoração e produzirá
somente fragmentos XML em vez de um documento XML completo.
- application
- O Java Profiling Agent é carregado, executado no segundo plano e permite que
o aplicativo seja executado normalmente como no modo ativado.
- Ele produz apenas dados de definição de perfil quando as duas condições são atendidas.
Primeiro, a aplicativo deve ter solicitado que o agente de definição de perfil
inicie a definição de perfil utilizando org.eclipse.hyades.collection.profiler.Profiler e segundo, o cliente de teste do workbench deve estar conectado ao Java
Profiling Agent e ter iniciado a monitoração.
- Observação: Todas as definições de perfil são controladas pelo aplicativo, utilizando a classe org.eclipse.hyades.collection.profiler.Profiler.
- profile=profile file
Essa opção é aplicável apenas quando server=standalone. Esse arquivo especifica as opções
com as quais você deseja que o gerenciador de perfis seja executado quando no modo autônomo. As opções especificadas nesse arquivo
são definidas geralmente na janela de configurações de definição de perfil quando o usuário ativa um processo
Java a partir do workbench; a utilização desse arquivo é uma maneira equivalente de
especificar opções durante a execução no modo autônomo.
O arquivo pode ser carregado em uma de duas maneiras.
Consulte Opções de filtragem do perfil autônomo para obter uma lista de opções válidas para o arquivo de perfis.
- filters=nome do arquivo
Utilizado apenas quando server=standalone estiver especificado.
Especifica o nome do arquivo que contém as definições iniciais do filtro de classe
para uso durante a sessão de definição de perfil. O nome do arquivo padrão
é filters.txt no diretório atual. Veja a seguir informações sobre o formato do
arquivo.
- file=nome do arquivo
Utilizado apenas quando server=standalone estiver especificado.
Especifica o nome de um arquivo em que serão gravados os dados de definição de perfil. O
padrão é trace.trcxml no diretório atual.
- help
Exibe uma lista das opções de agente disponíveis em STDOUT.
Formato do Arquivo de Filtro de Classe
O arquivo de filtro deve especificar três campos, pacote/classe, método e modo no
seguinte formato:
pacote/classe método modo
em que:
- pacote/classe
- Este campo é usado para especificar um padrão para um pacote ou um nome de classe.
O padrão deve ser especificado como uma cadeia sem espaços em branco incorporados. A cadeia pode conter um único
asterisco (*) no início ou no final da cadeia, por
exemplo, *.mypackage ou org.mycompany.*. O * corresponde a zero ou mais caracteres, tornando assim o modelo um
prefixo genérico ou um sufixo padrão. Um único * também pode ser especificado
para representar todas as cadeias.
- método
- Este campo é usado para especificar um padrão para o nome do método.
O padrão deve ser especificado como uma cadeia sem espaços em branco incorporados e
com as mesmas regras de especificação do campo classe.
- mode
- Este campo especifica se o pacote ou a classe correspondente ao padrão deve ser
incluída ou excluída no traçado de perfil. O valor do modo é
INCLUDE ou EXCLUDE.
Os modelos de filtro são processados na ordem especificada até que a
primeira correspondência de modelo seja bem-sucedida. Se o nome da classe não corresponde a nenhum
dos padrões de filtros especificados, o padrão é INCLUDE a classe.
Controle do Java Profiling Agent
Quando o Java Profiling Agent é iniciado com o parâmetro server=enabled
ou server=controlled, a comunicação com o agente é feita utilizando
o workbench do cliente por meio do Agent Controller na máquina do
host.
Notas
- Se você não especificar um nome do arquivo de definição de filtro na linha de comandos,
o Java Profiling Agent tentará ler os filtros a partir do arquivo
filters.txt no diretório atual. Se o arquivo filters.txt não existir,
nenhum filtro será utilizado durante a sessão de definição de perfil. Se você nomear
o arquivo de filtros, filters.txt, e colocá-lo no diretório atual, não será necessário
especificar o parâmetro de filtros na linha de comandos para que os filtros sejam utilizados
pelo agente de definição de perfil.
- Se você não especificar um arquivo de saída para os dados de definição de perfil, ele
será salvo no arquivo trace.trcxml
- Você não precisa especificar uma extensão para o arquivo de saída. Ele
obtém automaticamente a extensão .trcxml
- Você não precisa especificar a extensão para o aplicativo Java. Pode
ser um arquivo .class.
Conceitos Relacionados
Visão Geral da Ferramenta de Definição de Perfil
Recursos de Definição de Perfil
Tarefas Relacionadas
Definindo o Perfil de um Aplicativo no Modo Autônomo no AS/400
Iniciando ou Anexando um Processo Java
Utilizando a Visualização Monitor do Traçado de Perfil
(C) Direitos Autorais IBM Corporation 2000, 2006. Todos os Direitos Reservados.