Perfilar una aplicación en modalidad autónoma
Puede perfilar una aplicación en modalidad
autónoma (es decir, desde la línea de mandatos) sin tener instalado Test and
Performance Tools Platform.Sin embargo, necesita tener Agent
Controller instalado en la máquina en la que reside la aplicación a perfilar.
Para perfilar una aplicación en modalidad autónoma, se invoca el agente de perfilado Java, que
es una biblioteca conectada a una máquina virtual Java (JVM) para capturar y anotar el
comportamiento de la aplicación Java. Los
datos de salida del agente tienen el formato de fragmentos XML.
Utilice la opción Java -Xrun para invocar el agente de perfilado Java:
-XrunpiAgent:parámetro_agente[,parámetro_agente]*
Por ejemplo, para perfilar PerformanceExample.java utilizando los
filtros definidos en el archivo myFilters.txt y dirigiendo los datos
procedentes de la sesión de perfilado a un archivo que se llame
PEProfilingData, escribiría lo siguiente en una línea de mandatos:
java -XrunpiAgent:server=standalone,filters=myFilters.txt,file=PEProfilingData.trcxml
PerformanceExample
- Nota: si desea iniciar WebSphere Application Server Versión 6 (WAS) en modalidad
de perfilado desde la línea de mandatos, debe seguir estos pasos:
- Vaya a <raíz de perfilado>/config/cells/<nombre_de_nodo>Cell/nodes/<nombre_de_nodo>/servers/server1
- Edite el elemento jvmEntries en el archivo server.xml. En ese elemento, hay un atributo llamado genericJvmArguments. Añada
-XrunpiAgent:server=enabled al valor del atributo.
- Reinicie WAS.
-
- Si aumenta el parámetro -XrunpiAgent, puede especificar varias
modalidades distintas en las que ejecutar el agente de perfilado. El parámetro
parámetro_agente puede tomar uno de los siguientes valores:
- server=[standalone | enabled | controlled | application]
- standalone
- El agente de perfilado se ejecuta en modalidad autónoma; es decir, no
es posible interaccionar con él desde el entorno de trabajo. La información de
configuración se proporciona mediante los archivos de configuración, y el
agente de perfilado almacena los datos de perfilado directamente en un
archivo. Luego, el archivo de perfilado se puede importar al
entorno de trabajo en una fecha posterior.
- El agente de perfilado Java se conecta manualmente a una instancia de
la JVM y genera datos de perfilado en un archivo de salida. El archivo de
salida por omisión se llama trace.trcxml, pero puede especificar un nombre de
archivo distinto con el parámetro file=nombre-archivo. Cuando esta
opción está seleccionada, el agente de perfilado Java genera un elemento
traceRoot delimitador destinado a formar un documento XML válido y completo.
- enabled (este es el valor por omisión)
- El agente de perfilado se ejecuta en segundo plano en la JVM sin
consumir recursos hasta que el entorno de trabajo se conecta a él y le pide que
empiece a supervisar. Entonces los datos se transmiten en modalidad continua a través del
canal de datos del agente, y el entorno de trabajo los consume.
Es decir, el agente de perfilado Java está cargado, permite que la aplicación
se ejecute con normalidad, pero no genera datos de perfilado hasta que un
cliente se conecta al agente para darle instrucciones. Cuando esta opción está
seleccionada, el agente de perfilado Java tan solo genera fragmentos XML, en
lugar de un documento XML completo.
- controlled
- El agente de perfilado controla la inicialización de la JVM (el
agente está cargado pero bloquea la aplicación para impedir que se ejecute)
hasta que el cliente del entorno de trabajo se conecta a él y le da
instrucciones para que empiece a supervisar.
Es decir, cuando el agente de
perfilado se lanza en modalidad controlada, hará que la JVM parezca estar
colgada hasta que reciba instrucciones para empezar a supervisar, y entonces
solo generará fragmentos XML, en lugar de un documento XML completo.
- application
- El agente de perfilado Java está cargado, se ejecuta en segundo plano
y permite que la aplicación se ejecute con normalidad, como en la modalidad
habilitada.
- Solo genera datos de perfilado cuando se cumplen dos
condiciones.
Primero, la aplicación debe haber solicitado que el agente de perfilado empiece a perfilar
utilizando la clase org.eclipse.hyades.collection.profiler.Profiler; segundo, el cliente
de prueba del entorno de trabajo debe haberse conectado al agente de perfilado Java y haber
empezado a supervisar.
- Nota: la aplicación controla todo el proceso de
perfilado mediante la clase org.eclipse.hyades.collection.profiler.Profiler.
- profile=archivo de perfilado
Esta opción solo es aplicable cuando server=standalone. Este archivo especifica las
opciones con las que debe ejecutarse el perfilador en modalidad autónoma. Las opciones
especificadas en este archivo se establecen habitualmente en la ventana de configuraciones de
perfilado cuando el usuario lanza un proceso Java en el entorno de trabajo: utilizar este archivo
equivale a especificar opciones en la modalidad autónoma.
El archivo puede cargarse de dos formas.
Consulte las Opciones de filtro de perfil autónomo para
obtener una lista de opciones válidas para el archivo de perfil.
- filters=nombre-archivo
Solo se utiliza cuando se especifica server=standalone.
Indica el nombre del archivo que contiene las definiciones de filtro de clases
inicial que se utilizarán durante la sesión de perfilado. El nombre de archivo
por omisión es filters.txt en el directorio actual. Más abajo se facilita información sobre el
formato del archivo.
- file=nombre-archivo
Solo se utiliza cuando se especifica server=standalone.
Indica el nombre de un archivo en el que se escribirán los datos de
perfilado. El valor por omisión es trace.trcxml en el directorio actual.
- help
Visualiza una lista de opciones de agente disponibles para STDOUT.
Formato del archivo de filtros de clases
El archivo de filtro debe especificar tres campos, paquete/clase,
método y modalidad con el siguiente formato:
paquete/clase método modalidad
Aquí,
- paquete/clase
- Este campo se utiliza con el fin de especificar un patrón para un nombre de
paquete o clase. El patrón debe especificarse como una serie sin blancos intercalados. La
serie puede contener un único asterisco (*) al principio o al final de la serie, por
ejemplo *.mypackage o org.mycompany.*. El asterisco (*) hace las veces de varios caracteres o de ninguno,
por lo que el patrón actúa a modo de prefijo o sufijo genérico. También se puede especificar
solamente un asterisco (*) para representar todas las series posibles.
- método
- Este campo se utiliza con el fin de especificar un patrón para el nombre de
método. El patrón debe especificarse como una serie sin blancos intercalados y debe seguir las mismas reglas que el
campo class.
- modalidad
- Este campo especifica si el paquete o clase que coincide con el patrón debe
incluirse o excluirse del perfilado. El valor de la modalidad puede ser
INCLUIR o EXCLUIR.
Los patrones de filtrado se procesan en el orden en que se han especificado
hasta que se logra la primera coincidencia con el patrón.Si el nombre
de la clase no coincide con ninguno de los patrones de filtrado especificados,
se toma por omisión la modalidad INCLUIR, que consiste en incluir la
clase.
Control del agente de perfilado Java
Cuando el agente de perfilado Java se inicia con el parámetro
server=enabled o server=controlled, la comunicación
con el agente se realiza con el entorno de trabajo del cliente por medio del
controlador de agentes en la máquina de host.
Notas
- Si no especifica el nombre de un archivo de definición de filtros en la
línea de mandatos, el agente de perfilado Java intenta leer los filtros en el
archivo que se llama filters.txt, en el directorio actual. Si el archivo
filters.txt no existe, no se emplearán filtros durante la sesión de
perfilado. Si da a su archivo de filtros el nombre filters.txt y lo coloca en
el directorio actual, no hace falta que especifique el parámetro filters
en la línea de mandatos para que el agente de perfilado utilice sus filtros.
- Si no especifica un archivo de salida para los datos de perfilado, estos
se guardarán en el archivo trace.trcxml.
- No hace falta que especifique una extensión para el archivo de
salida. Se añade automáticamente la extensión .trcxml.
- No es necesario que especifique la extensión de la aplicación
Java. Puede ser un archivo .class.
Conceptos relacionados
Visión general de la herramienta de perfilado
Recursos de perfilado
Tareas relacionadas
Perfilar una aplicación en modalidad autónoma en AS/400
Lanzar o conectar un proceso Java
Utilizar la vista Supervisor de perfilado
(C) Copyright IBM Corporation 2000, 2006. Reservados todos los derechos.