Perfilar uma aplicação no modo autónomo
Pode perfilar uma aplicação no modo autónomo (isto é, a partir da linha de comandos) sem ter a Test and Performance Tools Platform instalada. No entanto, terá de ter um Controlador de Agentes instalado na máquina onde reside a aplicação a ser perfilada.
Pode perfilar uma aplicação no modo autónomo invocando o Agente de Perfilamento Java, que é uma biblioteca que se anexa a uma máquina virtual Java (JVM) para capturar e registar o comportamento da aplicação Java. Os dados de saída do agente estão no formato de fragmentos XML.
Utilizar a opção Java -Xrun para invocar o Agente de Perfilamento Java:
-XrunpiAgent:agent_parm[,agent_parm]*
Por exemplo, para perfilar PerformanceExample.java, utilizando os filtros definidos no ficheiro myFilters.txt, e dirigindo os dados da sessão de perfilamento para um ficheiro chamado PEProfilingData, iria inserir o seguinte numa linha de comandos:
java -XrunpiAgent:server=standalone,filters=myFilters.txt,file=PEProfilingData.trcxml PerformanceExample
- Nota: caso se pretenda iniciar o WebSphere
Application Server Versão 6 (WAS) no modo de perfilamento a partir da linha de comandos,
deverão ser executados os seguintes passos:
- Ir a <profile root>/config/cells/<nodename>Cell/nodes/<nodename>/servers/server1
- Editar o elemento jvmEntries no ficheiro server.xml. Nesse elemento, há um atributo denominado genericJvmArguments. Anexe
-XrunpiAgent:server=enabled ao valor de atributo.
- Reiniciar WAS.
-
- Ao aumentar o parâmetro -XrunpiAgent pode especificar vários modos diferentes segundo os quais pode executar o agente de perfilamento. O parâmetro agent_parm pode assumir um dos valores seguintes:
- server=[standalone | enabled | controlled | application]
- standalone
- O agente de perfilamento é executado num modo autónomo, o que significa que não é possível interagir com ele a partir da área de trabalho. As informações de configuração são fornecidas utilizando os ficheiros de configuração e os dados de perfilamento são armazenados num ficheiro directamente pelo agente de perfilamento. O ficheiro de perfilamento pode então ser importado para a área de trabalho posteriormente.
- O Agente de Perfilamento Java é anexado manualmente a uma ocorrência de JVM e dá origem aos dados de perfilamento para um ficheiro de saída. O ficheiro de saída predefinido chama-se trace.trcxml, mas pode especificar um nome de ficheiro diferente utilizando o parâmetro file= nome de ficheiro. Quando esta opção está seleccionada, o Agente de Perfilamento Java produz um elemento traceRoot delimitador para formar um documento XML completo e válido.
- enabled (Este é o valor predefinido.)
- O agente de perfilamento é executado em segundo plano na JVM sem consumir recursos até que seja ligado pela área de trabalho e até que lhe seja pedido que inicie a supervisão. Os dados serão então sequenciados através do canal de dados do agente e consumidos pela área de trabalho.
Isto é, o Agente de Perfilamento Java está carregado, permite que a aplicação seja executada normalmente, mas não produz quaisquer dados de perfilamento até que um cliente se anexe ao agente fornecendo-lhe as instruções. Quando esta opção está seleccionada, o Agente de Perfilamento Java produz apenas fragmentos XML em vez de um documento XML completo.
- controlled
- O agente de perfilamento controla a iniciação da JVM (o agente é carregado, mas bloqueia a execução da aplicação) até que seja anexado a partir da área de trabalho e até que receba instruções por parte do cliente para iniciar a supervisão. Isto é, quando o agente de perfilamento é lançado no modo controlado, irá aparecer que suspende a JVM até que lhe seja pedido que inicie a supervisão e irá produzir apenas fragmentos XML em vez de um documento XML completo.
- application
- O Agente de Perfilamento Java está carregado, está a ser executado em segundo plano, e permite que a aplicação seja executada normalmente, como se estivesse em modo activado.
- Produz apenas dados de perfilamento quando são cumpridas duas condições. Primeiro, a aplicação deverá ter pedido que o agente de perfilamento inicie o perfilamento utilizando org.eclipse.hyades.collection.profiler.Profiler e segundo, o cliente de teste da área de trabalho deverá ter-se anexado ao Agente de Perfilamento Java e deverá ter iniciado a supervisão.
- Nota: todo o perfilamento é controlado pela aplicação, utilizando a classe org.eclipse.hyades.collection.profiler.Profiler.
- profile=arquivo de perfil
Esta opção apenas se aplica quando server=standalone. Este ficheiro especifica as opções com as quais pretende que o perfilador seja executado quando estiver em modo autónomo. As opções especificadas são normalmente definidas na janela de configurações de perfilamento quando o utilizador lança um processo Java a partir da área de trabalho; o uso deste ficheiro é um modo equivalente de especificar as opções ao executar no modo autónomo.
O ficheiro pode ser transferido usando um dos dois modos seguintes.
Consultar Opções de filtro de perfilamento autónomo para obter uma lista das opções válidas para o ficheiro de perfil.
- filters=nome de ficheiro
Utiliza-se apenas quando se especificar server=standalone.
Especifica o nome do ficheiro que contém as definições iniciais do filtro de classe a utilizar durante a sessão de perfilamento. O nome do ficheiro predefinido é filters.txt no directório actual. Ver a secção a seguir para obter informações sobre o formato do ficheiro.
- file=nome de ficheiro
Utiliza-se apenas quando se especificar server=standalone.
Especifica o nome de um ficheiro no qual serão escritos os dados de perfilamento. O ficheiro predefinido é trace.trcxml no directório actual.
- help
Apresenta uma lista de opções de agente disponíveis para STDOUT.
Formato do ficheiro de filtro de classe
O ficheiro de filtro deverá especificar três campos, pacote/classe, método e modo no formato que se segue:
pacote/classe método modo
onde:
- pacote/classe
- Este campo é utilizado para especificar um padrão para um nome de pacote ou de classe.
O padrão deve ser especificado como uma cadeia sem espaços em branco incorporados. A cadeia poderá conter um único asterisco (*), quer no início da cadeia ou no fim da cadeia, por exemplo, *.mypackage ou org.mycompany.*. O * corresponde a zero ou mais caracteres, transformando assim o padrão num prefixo ou padrão de sufixo genérico. Pode também ser especificado um único * para representar todas as cadeias.
- método
- Este campo é utilizado para especificar um padrão para o nome de 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.
- modo
- Este campo especifica se o pacote ou a classe que corresponde ao padrão deve ser incluído ou excluído do perfilamento. O valor para o modo é INCLUIR ou EXCLUIR.
Os padrões de filtro são processados segundo a ordem pela qual são especificados até que aconteça primeiro a correspondência de padrão. Se o nome de classe não corresponder a nenhum dos padrões de filtros especificados, a predefinição é INCLUIR a classe.
Controlo do Agente de Perfilamento Java
Quando o Agente de Perfilamento Java é iniciado com o parâmetro server=enabled ou server=controlled, a comunicação com o agente é feita utilizando a área de trabalho do cliente por meios do Controlador de Agentes na máquina do sistema central.
Notas
- Se não especificar um nome de ficheiro de definição de filtro na linha de comandos, o Agente de Perfilamento Java tenta ler os filtros do ficheiro chamado filters.txt no directório actual. Se o ficheiro filters.txt não existir, não serão utilizados quaisquer filtros durante a sessão de perfilamento. Se chamar o ficheiro de filtros filters.txt e se o colocar no directório actual, não será necessário especificar o parâmetro filters na linha de comandos para os filtros para ser utilizado pelo agente de perfilamento.
- Se não especificar um ficheiro de saída para os dados de perfilamento, estes serão guardados no ficheiro trace.trcxml.
- Não será necessário especificar uma extensão para o ficheiro de saída. Este recebe automaticamente a extensão .trcxml.
- Não será necessário especificar a extensão para a aplicação Java. Pode ser um ficheiro .class.
Conceitos relacionados
Descrição geral da ferramenta de perfilamento
Perfilar recursos
Tarefas relacionadas
Perfilar uma aplicação no modo autónomo no AS/400
Lançar ou anexar um processo Java
Utilizar a vista Supervisor de Perfilamento
(C) Copyright IBM Corporation 2000, 2006. Todos os direitos reservados.