Definindo o Perfil de um Aplicativo no Modo Independente
Você pode definir o perfil do seu aplicativo no modo independente (ou seja, a partir da linha de comandos), sem ter as ferramentas Hyades instaladas. Entretanto, é necessário ter o Agent Controller instalado na máquina em que o aplicativo a ter o perfil definido reside.
Você define o perfil de um aplicativo no modo independente chamando o Java
Profiling Agent, que é uma biblioteca que se conecta a uma JVM (Java Virtual Machine)
para capturar e registrar 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
- 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 Agent Controller 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.
- filters=nome do arquivo
Utilizado somente quando server=standalone está 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 mais informações sobre
o formato de arquivo.
- file=nome do arquivo
Utilizado somente quando server=standalone está 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 de opções disponíveis do agente para saída padrão.
Formato do Arquivo de Filtro de Classe
O formato do arquivo é o seguinte:
pattern mode
em que:
- pattern
- Uma cadeia sem espaços em branco incorporados. A cadeia pode conter um único
asterisco (*) no início ou no final da
cadeia. O * corresponde a zero ou mais caracteres, tornando assim o modelo um
prefixo genérico ou sufixo padrão. Um único * também pode ser especificado para
representar todas as cadeias.
- mode
- Especifica se a classe que corresponde ao padrão deverá ser incluída
ou excluída da definição do 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 Perfis
Recursos de Definição de Perfil
Exibição Profiling Monitor
Exibição Log
Tarefas Relacionadas
Iniciando ou Anexando um Processo Java
Trabalhando com Agentes
Abrindo Várias Perspectivas Profiling and Logging
(C) Copyright IBM Corporation 2000, 2003. Todos os Direitos Reservados.