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 controlador de agentes, 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.
- 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 formato del archivo es el siguiente:
patrón modalidad
Aquí,
- patrón
- Es una serie sin blancos intercalados. En la serie puede haber un
asterisco sencillo (*) situado al principio o al final. 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.
- modalidad
- Especifica si la clase que coincide con el patrón se
incluirá o excluirá del perfilado. El valor de la modalidad puede ser
INCLUDE o EXCLUDE.
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 INCLUDE, 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 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
Vista Supervisor de perfilado
Vista Anotaciones
Tareas relacionadas
Lanzar o conectar un proceso Java
Trabajar con agentes
Abrir varias perspectivas de perfilado y anotación
(C) Copyright IBM Corporation 2000, 2003. Reservados todos los derechos.