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 las herramientas de Hyades instaladas. 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
- 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 en la salida estándar.
Formato del archivo de filtros de clases
El archivo de filtro debe especificar tres campos, paquete/clase, método y
modalidad en el siguiente formato:
paquete/clase método modalidad
Aquí,
- paquete/clase
- Este campo sirve para especificar un patrón para un nombre de paquete o de clase.
El patrón se debe especificar como una serie de caracteres sin blancos intercalados.
La serie de caracteres puede contener
un 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 sirve para especificar un patrón para el nombre del método.
El patrón se debe especificar como una serie de caracteres sin blancos intercalados y con las mismas
reglas de especificación que el campo clase.
- modalidad
- Este campo especifica si el paquete o clase que coincida con el patrón se debe incluir en el perfil o
se debe excluir del mismo.
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 de Agent Controller
en la máquina de sistema principal.
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, 2005. Reservados todos los derechos.