Notas de la versión de Sun Identity Manager 8.1

Operaciones con el analizador de Identity Manager

Identity Manager ofrece un analizador que ayuda a solucionar problemas de la implementación relacionados con el rendimiento en formularios, Java, reglas, flujos de trabajo y XPRESS.

Formularios, Java, reglas, flujos de trabajo y XPRESS pueden causar problemas de rendimiento y escala. El analizador calcula cuánto tiempo se invierte en distintas áreas de los formularios, Java, normas, flujos de trabajo u objetos XPRESS, lo que le permite determinar si provocan problemas de rendimiento y escala y, en tal caso, averiguar qué partes de dichos objetos producen los problemas.

En esta sección se explica cómo utilizar el analizador de Identity Manager y se incluye un tutorial que le enseñará a solucionar problemas de rendimiento en la implementación.

Esta información se ha dividido en los temas siguientes:


Nota –

El analizador de Identity Manager sólo es compatible con la versión 7.1 Actualización 1 y versiones posteriores.


Descripción general

En esta sección se describen las características y la funcionalidad del analizador de Identity Manager. La información se ha dividido como sigue:

Funciones principales

Puede utilizar el analizador para:

Búsqueda y gestión de orígenes en el analizador

En esta sección se explica cómo el analizador busca y gestiona el origen de los siguientes objetos de Identity Manager:


Consejo –

En las vistas de llamadas en árbol o de zonas activas, puede hacer doble clic sobre cualquier nodo que corresponda a un método Java, flujo de trabajo, formulario, regla o XPRESS para ver el origen de ese nodo.


Objetos de formularios, reglas, flujos de trabajo y XPRESS

Cuando se toma una instantánea con el analizador, el servidor evalúa todos los datos del análisis y averigua de qué orígenes dependen. A continuación, el servidor recupera todos esos orígenes del repositorio y los incluye en la instantánea. Por tanto, puede tener la certeza de que los objetos de Identity Manager mostrados en la instantánea reflejan con exactitud el punto en que se ha capturado ésta.

Este proceso aumenta el tamaño de la instantánea, pero el tamaño del origen es una fracción relativamente pequeña del tamaño total. En consecuencia, puede enviar una instantánea al servicio de asistencia al cliente de Sun sin necesidad de remitir los archivos de origen por separado.

Orígenes Java

Cuando se toma una instantánea de origen Java, el cliente la descarga y luego la examina para capturar todos los orígenes Java referenciados del proyecto. Al guardar la instantánea, el cliente aplica zip a los orígenes y los anexa al final de la instantánea.

Después, cuando se visualiza la instantánea y se accede al origen Java, el cliente comprueba primero el contenido de la instantánea. Si no lo encuentra, comprueba el contenido del proyecto. Este proceso permite enviar una instantánea que contenga todos los datos del análisis, tanto del código Java personalizado como del código de Identity Manager.


Nota –

En una instantánea con origen Java no se debe asumir que el origen está actualizado con el servidor ni que siempre está disponible.


Advertencias sobre estadísticas

En las secciones siguientes se incluye información que conviene tener en cuenta al evaluar los resultados del analizador:

Estadísticas de tiempo propio

Para calcular la estadística del tiempo propio de un nodo raíz, el analizador resta los tiempos de todos los nodos secundarios al tiempo total del nodo raíz.

Por tanto, el tiempo de un nodo secundario no instrumentado se refleja en el tiempo propio del nodo raíz. Si un nodo raíz tiene un tiempo propio considerable, conviene indagar la razón. Quizá no haya instrumentado los métodos adecuados y, por tanto, no esté usando el lugar correcto.

Por ejemplo, supongamos que el método A llama al método B.

El método A tarda un total de 10 segundos (tiempo que incluye la llamada a B) y la llamada a B tarda un total de 10 segundos.

Si están instrumentados A y B, la pila de llamadas refleja dicha información. Observará que A tiene un tiempo propio de 0 segundos y que B tiene un tiempo propio de 10 segundos (10 segundos invertidos realmente en B). Sin embargo, si B no está instrumentado, sólo observará que la llamada a A dura 10 segundos y que el tiempo propio de A es 10 segundos. En consecuencia, tal vez asuma que el problema reside directamente en A, no en B.

En concreto, se podrían apreciar largos tiempos propios durante la compilación inicial de JSP. Si restablece los resultados recogidos y vuelve a presentar la página, el tiempo propio será muy inferior.

Llamadas de constructor

Dadas las limitaciones de la estrategia de instrumentación de Java, las llamadas iniciales a this() o super() aparecen como llamadas del mismo nivel para la llamada de constructor y no como llamadas secundarias. Consulte el ejemplo siguiente:


class A
{
   public A()
   {
      this(0);
   }
   public A(int i)
   {
   }
}

and:

class B
{
   public static void test()
   {
      new A();
   }
}
The call tree will look like this:
B.test()
   -A.<init>(int)
   -A.<init>()
Rather than this:
B.test()
   -A.<init>()
      -A.<init>(int)

Threads de daemon

No se confunda con la aparente gran cantidad de tiempo invertida en diversos threads de daemon de Identity Manager, como ReconTask.WorkerThread.run() o TaskThread.WorkerThread.run(). La mayor parte de este tiempo es inactivo, en espera de eventos. Hay que explorar estos rastros para constatar cuánto tiempo se tarda realmente al procesar un evento.

Primeros pasos

En esta sección se explica cómo iniciar el analizador y cómo utilizar las diversas funciones de su interfaz gráfica. Esta información se ha dividido como sigue:

Antes de empezar

Como el analizador acapara mucha memoria, conviene realizar una considerable ampliación de memoria tanto en el servidor como en la máquina virtual de Java (JVM) donde está Netbeans.

    Para ampliar la memoria del servidor:

  1. Abra la ventana de Netbeans y seleccione la ficha Runtime.

  2. Expanda el nodo Servers, haga clic con el botón secundario en Bundled Tomcat y seleccione Properties en el menú.

  3. En el cuadro de diálogo Server Manager, desactive la casilla Enable HTTP Monitor de la ficha Connection.

  4. Seleccione la ficha Platform, defina VM Options en -Xmx1024M y haga clic en Close.

    Para ampliar la memoria de la JVM que tiene Netbeans:

  1. Abra el archivo netbeans-installation-dir\etc\netbeans.conff y busque la línea:

    netbeans_default_options="-J-Xms32m -J-Xmx ...

  2. Cambie el valor de -J-Xmx a -J-Xmx 1024M.

  3. Guarde y cierre el archivo.

Cuando termine, puede iniciar el analizador como se indica en la siguiente sección.

Inicio del analizador

Utilice uno de estos métodos para iniciar el analizador desde la ventana de Identity Manager IDE:


Nota –

El icono Iniciar analizador de Identity Manager en proyecto principal está disponible si la versión del proyecto principal de Identity Manager es la 7.1 Actualización 1 u otra posterior.


Al iniciar el analizador, aparece el cuadro de diálogo Profiler Options, donde puede especificar las opciones de análisis que desea utilizar. Las instrucciones para configurar estas opciones se encuentran en Especificación de las opciones del analizador.

Uso del analizador

En esta sección se describen las funciones de la interfaz gráfica del analizador y cómo utilizarlas. La información se ha dividido como sigue:

Especificación de las opciones del analizador

El cuadro de diálogo Profiler Options contiene las fichas:

Use las opciones de estas fichas para indicar qué objetos se analizan y qué elementos aparecen en el análisis.

Tras especificar las opciones del analizador, haga clic en OK para iniciarlo. Según la configuración del proyecto, el analizador realiza uno de estos dos procesos:


Nota –

Puede seleccionar IdM -> Set Identity Manager Instance para controlar la acción de la instancia de Identity Manager para el proyecto.


Modo

La ficha Mode ofrece las siguientes opciones:

IDM Object Filters

La ficha IDM Object Filters ofrece las siguientes opciones:

Java Filters

Seleccione la ficha Java Filters para:

Los filtros de Java se suministran en patrones de métodos y se expresan mediante patrones que incluyen o excluyen aplicando un nombre de método canónico. Un nombre de método canónico es:

nombre-clase-completamente-calificado.nombre-método( tipo-parámetro-1, tipo-parámetro-2, ... )


Nota –

En los constructores, nombre-método es <init>.


He aquí algunos ejemplos:


Nota –

Los dos últimos ejemplos son equivalentes porque los filtros se aplican sólo a las clases personalizadas y a las de Identity Manager.


Si es preciso, puede instrumentar otros jar modificando como interese las líneas siguientes en build.xml. Por ejemplo:


<instrument todir="${lighthouse-dir-profiler}/WEB-INF" 
verbose="${instrumentor.verbose}" includeMethods="${profiler.includes}" 
excludeMethods="${profiler.excludes}">
           <fileset dir="${lighthouse-dir}/WEB-INF">
               <include name="lib/idm*.jar"/>
               <include name="classes/**/*.class"/>
           </fileset>
</instrument>

De forma predeterminada, la configuración incluye todas las clases personalizadas y la mayoría de las clases de Identity Manager. Se excluyen forzosamente diversas clases de Identity Manager, ya que su habilitación interrumpiría el analizador.

Por ejemplo, se excluyen las clases de los motores de flujo de trabajo, formularios y XPRESS porque, de lo contrario, el analizador generaría una instantánea ininteligible al analizar objetos de Java e Identity Manager:

Los filtros de Java ofrecen mucha más granularidad de filtrado que los de objeto de IDM. La instrumentación de Java sobrecarga significativamente el tiempo de ejecución, lo que puede sesgar radicalmente los resultados del análisis. Como los objetos de Identity Manager se interpretan en lugar de compilarse, apenas hay sobrecarga de instrumentación. De ahí que, por ejemplo, no haya razones básicas para excluir el flujo de trabajo A e incluir el flujo de trabajo B, etc.


Nota –

No es posible modificar los filtros de Java mientras se ejecuta el analizador. Antes debe detener el analizador.


Misceláneo

La ficha Miscellaneous ofrece las siguientes opciones:

Uso de la vista del analizador de IDM

La vista del analizador de IDM contiene las áreas:

Área Current Project

El área Current Project consta de un menú descendente que contiene todos los proyectos actuales. Use este menú para seleccionar el proyecto que desea analizar.

Área Controls

El área Controls contiene cuatro iconos, descritos en la tabla siguiente:

Icono 

Nombre 

Función 

Figura que muestra el icono Iniciar analizador de Identity Manager

Iniciar analizador de Identity Manager 

Inicia el analizador y abre el cuadro de diálogo Profiler Options. 

Figura que muestra el icono Detener analizador de Identity Manager

Detener analizador de Identity Manager 

Detiene el analizador. 

Figura que muestra el icono Restaurar resultados recogidos

Restaurar resultados recogidos 

Restaura todos los resultados del análisis recogidos hasta ese momento. 

Figura que muestra el icono Modificar análisis

Modificar análisis 

Vuelve a abrir el cuadro de diálogo Profiler Options para que pueda cambiar las opciones que desee a fin de modificar los resultados del análisis actual. 

Área Status

El área Status le indica si está conectado al sistema principal y le ofrece información de estado conforme el analizador se inicia, se ejecuta y se detiene.

Área Profiling Results

El área Profiling Results contiene dos iconos, descritos en la tabla siguiente:

Icono 

Nombre 

Función 

Figura que muestra el icono Iniciar analizador de Identity Manager

Iniciar analizador de Identity Manager 

Inicia el analizador y abre el cuadro de diálogo Profiler Options. 

Figura que muestra el icono Restaurar resultados recogidos

Restaurar resultados recogidos 

Restaura todos los resultados del análisis recogidos hasta ese momento. 

Área Saved Snapshots

El área Saved Snapshots contiene una lista de todas las instantáneas guardadas.


Nota –

Las instrucciones para guardar instantáneas se encuentran en Guardar una instantánea.


Además, puede usar uno de los botones siguientes para administrar esas instantáneas:

Uso de la vista de instantáneas

Al abrir una instantánea, los resultados aparecen en la ventana de vista de instantáneas, situada en el lado superior derecho de Identity Manager IDE.

Una instantánea ofrece varias vistas de los datos, que se describen en las secciones siguientes:

Vista de llamadas en árbol

La vista de llamadas en árbol contiene una tabla de árbol con el control del tiempo de llamada y el recuento de invocaciones en todo el sistema.

Esta tabla contiene tres columnas:

Vista de zonas activas

La vista de zonas activas ofrece una lista lineal de nodos con los controles acumulados de tiempo de llamadas, independientemente del elemento principal.

Esta vista contiene las siguientes columnas:

Vista de retroseguimientos

La vista de retroseguimientos proporciona una pila de llamadas invertida con todas las cadenas de llamada desde las que se ha llamado el nodo.

Puede usar estas estadísticas para responder a la pregunta: ¿Cuánto tiempo ahorraría si eliminase esta cadena de llamada concreta de este nodo?

Puede acceder a la vista de retroseguimientos desde cualquiera de las demás vistas de instantáneas haciendo clic con el botón secundario en un nodo (denominado nodo raíz) y seleccionando Show Back Traces en el menú emergente.


Nota –

Los valores de datos de Time e Invocations tienen un significado distinto en la vista de retroseguimientos:


Vista de receptores de llamadas

La vista de receptores de llamadas muestra un árbol de llamadas agregadas de un nodo (denominado nodo raíz), cualquiera que sea la cadena principal.

Estas estadísticas resultan útiles cuando hay un área problemática que se llama desde muchos lugares mediante el árbol de llamadas maestro y se desea ver el análisis global del nodo.

Puede acceder a la vista de receptores de llamadas desde cualquiera de las demás vistas de instantáneas haciendo clic con el botón secundario en un nodo (denominado nodo raíz) y seleccionando Show Callees en el menú emergente.


Nota –

Los valores de datos de Time e Invocations de la vista de receptores de llamadas tienen el mismo significado que los de la vista de llamadas en árbol.


Uso de las opciones de menú emergente

Al hacer clic con el botón secundario en una vista de llamadas en árbol o de zonas activas, aparece un menú emergente con las opciones descritas en la tabla siguiente:

Opción de menú 

Descripción 

GoTo Source 

Seleccione esta opción para ver el origen XML de un nodo que corresponda a un método Java, flujo de trabajo, formulario, regla o XPRESS. Para obtener información detallada sobre esta vista, consulte Búsqueda y gestión de orígenes en el analizador.

Show Back Traces 

Seleccione esta opción para acceder a la vista de retroseguimientos. Para obtener información detallada sobre esta vista, consulte Vista de retroseguimientos.

Show Callees 

Seleccione esta opción para acceder a la vista de receptores de llamadas. Para obtener información detallada sobre esta vista, consulte Vista de receptores de llamadas.

Find In Hotspots 

Seleccione esta opción para buscar un nodo en la vista de zonas activas. Para obtener más información sobre esta vista, consulte Vista de zonas activas.

List Options -> Sort -> 

Seleccione esta opción para ordenar por: 

  • Ninguno

  • Árbol de llamadas

  • Tiempo

  • Invocaciones

  • Orden ascendente

  • Orden descendente

List Options -> Change Visible Columns 

Seleccione esta opción para cambiar las columnas mostradas en la lista de árbol de llamadas o zonas activas. 

En el cuadro de diálogo Change Visible Columns puede especificar una o varias de las opciones siguientes: 

  • Call Tree: Call Tree

  • Invocations: Invocations

  • Time: Time

Búsqueda en una instantánea

Utilice el icono de búsquedaFigura que muestra el icono de búsqueda , situado en la parte superior de la ventana de la vista de instantáneas, para buscar nodos por su nombre en las vistas del árbol de llamadas o de zonas activas.

Otra posibilidad es hacer clic con el botón secundario en la vista de llamadas en árbol o de zonas activas y seleccionar Find in Call Tree o Find in Hotspots (respectivamente) en el menú emergente para buscar un nodo.

Guardar una instantánea

El analizador ofrece varias opciones para guardar una instantánea. Encontrará una descripción de estas opciones en la tabla siguiente:

Icono 

Nombre 

Función 

Figura que muestra el icono Iniciar analizador de Identity Manager

Icono Guardar instantánea en el proyecto (ubicado en la parte superior de la ventana de vista de instantáneas) 

Guarda la instantánea en el directorio nbproject/private/idm-profiler del proyecto. Las instantáneas guardadas en el proyecto aparecen en la sección Saved Snapshots de la vista del analizador.

Figura que muestra el icono Detener analizador de Identity Manager

Icono Guardar instantánea externamente (ubicado en la parte superior de la ventana de vista de instantáneas) 

Guarda la instantánea en una ubicación externa arbitraria. 

Figura que muestra el icono Restaurar resultados recogidos

Botón Save As (situado en el área Saved Snapshots) 

Guarda la instantánea en una ubicación externa arbitraria. 

Tutorial: Solución de problemas de rendimiento

Identity Manager ofrece un tutorial (profiler-tutorial.zip) que le ayuda a usar el analizador para solucionar problemas con formularios, Java, reglas, flujos de trabajo y XPRESS.

Utilice los pasos siguientes para realizar el tutorial.

ProcedurePaso 1: Creación de un proyecto de Identity Manager.

  1. Seleccione File -> New Project.

  2. Cuando aparezca el asistente New Project, especifique lo siguiente y luego haga clic en Next:

    1. En la lista Categories, seleccione Web para indicar el tipo de proyecto que va a crear.

    2. En la lista de proyectos, seleccione Identity Manager Project.


      Nota –

      Debe crear un proyecto normal de Identity Manager para un entorno de desarrollo totalmente funcional. No seleccione la opción Identity Manager Project (Remote).


  3. Rellene los campos siguientes del panel Name and Location y luego haga clic en Next:

    • Project Name: introduzca Idm80 como nombre de proyecto.

    • Project Location: utilice la ubicación predeterminada o especifique otra.

    • Project Folder: utilice la carpeta predeterminada o especifique otra.

  4. Cuando aparezca el panel Identity Manager WAR File Location, introduzca la ubicación del archivo war de Identity Manager 8.1. Normalmente, al descomprimir este archivo se crea un archivo idm.war en el mismo directorio.

  5. Haga clic en Next para pasar al panel Repository Setup.

    Como no debe ser necesario cambiar la configuración predeterminada de este panel, basta con hacer clic en Finish. Cuando vea el mensaje BUILD SUCCESSFUL en la ventana Identity Manager IDE Output, puede extraer los archivos de tutorial del analizador. Consulte las instrucciones del Paso 2: Descompresión del tutorial del analizador.

ProcedurePaso 2: Descompresión del tutorial del analizador

  1. Descomprima profiler-tutorial.zip en el directorio raíz del proyecto. Los archivos extraídos incluyen:

    <project root>/custom/WEB-INF/config/ProfilerTutorial1.xml
    <project root>/custom/WEB-INF/config/ProfilerTutorial2.xml
    <project root>/src/org/example/ProfilerTutorialExample.java
    <project root>/PROFILER_TUTORIAL_README.txt
  2. Inicie el analizador. Vaya al Paso 3: Inicio del analizador.

ProcedurePaso 3: Inicio del analizador

  1. Siga las instrucciones de Antes de empezar para ampliar la memoria del servidor y de la JVM donde está Netbeans.

  2. Utilice uno de estos métodos explicados en Descripción general para iniciar el analizador.

  3. Cuando aparezca el cuadro de diálogo Profiler Options, puede especificar las opciones de análisis.

  4. Continúe con el Paso 4: Configuración de las opciones del analizador


    Nota –

    Para obtener información detallada sobre todas las opciones del analizador, consulte Especificación de las opciones del analizador.


ProcedurePaso 4: Configuración de las opciones del analizador

Para realizar este tutorial, especifique las siguientes opciones del analizador:

  1. En la ficha Mode, seleccione Java and IDM Objects para analizar objetos de formulario, Java, regla, flujo de trabajo y XPRESS.

  2. Seleccione la ficha Java Filters.

    Siga los pasos indicados a continuación para desactivar todas las clases Java de Identity Manager excepto sus clases Java personalizadas (en este caso, org.example.ProfilerTutorialExample):

    1. Haga clic en New y aparecerá un campo nuevo vacío al final de la columna Filter.

    2. Escriba com.waveset.* en el campo nuevo y después marque la casilla Exclude.

    3. Vuelva a hacer clic en New.

    4. Escriba com.sun.idm.* en el campo nuevo y después marque la casilla Exclude.

  3. Haga clic en OK para ejecutar el analizador.


    Nota –

    El analizador tarda unos minutos la primera vez que se ejecuta en un proyecto o si se ha realizado hace poco una acción Limpiar un proyecto.


    Cuando el analizador termine el proceso, se le pedirá que inicie la sesión.

  4. Introduzca la contraseña configurator, marque la casilla Recordar contraseña y haga clic en Aceptar para continuar.

  5. Cuando se abra la ventana de Identity Manager, inicie la sesión.


    Nota –

    Normalmente debería iniciar la sesión de Identity Manager como otro usuario, en lugar de volver a hacerlo como configurator . Ya ha iniciado una sesión del analizador como configurador y sólo se admite una entrada por usuario en el grupo de sesiones de Identity Manager. Si utiliza varias entradas, se puede interrumpir el grupo de sesiones y sesgar los resultados del análisis con problemas de rendimiento más granulares.

    Sin embargo, como en este sencillo ejemplo no importa el grupo de sesiones, puede iniciar la sesión como configurator/configurator.


  6. En Identity Manager, seleccione Tareas de servidor -> Ejecutar tareas y después haga clic en ProfilerTutorialWorkflow1.

    El tutorial quizá tarde un poco en responder.

  7. Aunque ahora podría capturar una instantánea, lo que hará será restablecer los resultados, ejecutar el analizador, volver a ejecutarlo y después tomar una instantánea.


    Nota –

    Es mejor ejecutar el analizador un par de veces antes de tomar una instantánea, para asegurarse de que se ceben todas las cachés, se compilen todos los JSPs, etc..

    La ejecución repetida del analizador le permite concentrarse en los problemas de rendimiento reales. La única excepción a esta regla es cuando un problema acapara las propias cachés.


    1. Regrese a la vista del analizador de IDM en Identity Manager IDE. Haga clic en el icono Restaurar resultados recogidos de la sección Profiling Results (o de Controls) para restablecer todos los resultados recogidos hasta ahora.

    2. En Identity Manager, vuelva a seleccionar Tareas de servidor -> Ejecutar tareas y haga clic en ProfilerTutorialWorkflow1.

    3. Cuando aparezca el diagrama de procesos, vuelva a Identity Manager IDE y haga clic en el icono Capturar instantánea de la sección Profiling Results.

  8. El entorno Identity Manager IDE descarga la instantánea y muestra los resultados en el lado derecho de la ventana.

    Esta área es la vista de llamadas en árbol. En la parte superior de la vista de llamadas en árbol, debe aparecer un archivo /idm/task/taskLaunch.jsp con un tiempo indicado en la columna Time. Debe mostrar que la solicitud completa tardó seis+ segundos.

  9. Expanda el nodo /idm/task/taskLaunch.jsp, verá que ProfilerTutorialWorkflow1 tardó seis segundos.

  10. Expanda el nodo ProfilerTutorialWorkflow1. Observe que activity2 tardó cuatro segundos y activity1 dos.

  11. Expanda activity2.

    Observe que action1 tardó dos segundos y action2 también dos.

  12. Expanda action1 y observará que <invoke> también tardó dos segundos.

  13. Haga doble clic en <invoke> para abrir ProfilerTutorialWorkflow1.xml y resalte la línea siguiente:


    <invoke name=’example’ class=’org.example.ProfilerTutorialExample’/>

    Deberá ver que una llamada al método ProfilerTutorialExample tardó dos segundos.


    Nota –

    Está examinando un origen XML que se capturó en la instantánea, no el origen en el proyecto. Las instantáneas son totalmente autocontenidas. (Para obtener más información, consulte Búsqueda y gestión de orígenes en el analizador.)


  14. Seleccione la ficha CPU:<fecha><hora> para volver a la instantánea.

  15. Expanda el nodo <invoke> y observe que el analizador tardó dos segundos en el método de Java ProfilerTutorialExample.example().

  16. Haga doble clic en el nombre del método para abrir el origen ProfilerTutorialExample.java y resalte la línea siguiente:


    Thread.sleep(2000);

    ¡Ahí está el problema! Este método contiene una inactividad de subproceso de dos segundos.

  17. Si vuelve a la vista de llamadas en árbol, verá que todas las rutas de dos segundos conducen a este método. (Debe ver tres rutas, con un total de seis segundos.)

  18. Seleccione la ficha Hotspots (situada en la parte inferior del área de llamadas en árbol) para abrir la vista de zonas activas. Fíjese en que ProfilerTutorialExample.example() tiene un tiempo propio total de seis segundos.

    (Para obtener más información sobre las zonas activas, consulte Uso de la vista de instantáneas.)

  19. Haga clic con el botón secundario en ProfilerTutorialExample.example() y seleccione Show Back Traces en el menú emergente.

    Aparece una nueva ficha Back Traces en la parte inferior del área.

  20. Expanda el nodo ProfilerTutorialExample.example() de la ficha Back Traces para comprobar que este método se ha llamado desde tres sitios y que ha tardado dos segundos desde cada sitio.

    (Para obtener más información sobre los retroseguimientos, consulte Uso de la vista de instantáneas.)

  21. Seleccione Save the snapshot en el icono del proyecto para guardar la instantánea y cerrarla.

    Si observa la sección Saved Snapshots de la ficha IDM Profiler, verá la instantánea. (Quizá tenga que desplazarse hacia abajo.)

  22. Seleccione la instantánea guardada y después haga clic en Open para volver a abrirla.


    Nota –

    Puede utilizar el botón Save As para guardar las instantáneas externamente, y el botón Load para cargar instantáneas desde fuera del proyecto.


  23. Vuelva a cerrar la instantánea.

ProcedurePaso 5: Análisis de un flujo de trabajo ManualAction

En la siguiente parte de este tutorial se explica cómo analizar una acción manual de flujo de trabajo.

  1. En Identity Manager, seleccione Tareas de servidor -> Ejecutar tareas y después haga clic en ProfilerTutorialWorkflow2.

    Al cabo de unos instantes aparecerá un formulario vacío.

  2. Haga clic en Guardar y aparecerá el diagrama de procesos.

  3. Vuelva a seleccionar Tareas de servidor -> Ejecutar tareas.

  4. Regrese a la vista del analizador de IDM en Identity Manager IDE y haga clic en el icono Restaurar resultados recogidos de la sección Profiling Results.

  5. A continuación, haga clic en ProfilerTutorialWorkflow2 en Identity Manager.

  6. Cuando aparezca de nuevo el formulario vacío, haga clic en Guardar.

  7. En la vista del analizador de IDM, haga clic en Capturar instantánea.

    Al cabo de unos segundos debe aparecer una instantánea en el área de llamadas en árbol. Observará que /idm/task/workItemEdit.jsp tardó seis+segundos. (Este resultado corresponde a la acción manual en el flujo de trabajo.)

  8. Expanda el nodo /idm/task/workItemEdit.jsp, verá que se tardó un total de seis segundos en ejecutar todas las derivaciones del formulario de acción manual (ManualAction).

  9. Expanda los nodos Derivation, displayNameForm, variables.dummy y <block>.

    Observará que <block> tardó seis segundos, de los cuales el analizador empleó dos segundos en cada una de las tres llamadas al método ProfilerTutorialExample.example().

  10. Puede hacer doble clic en <block> para ver el origen.