Notas de la versión de Sun Identity Manager 8.1

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.