Das Dialogfeld „Profiler Options“ enthält folgende Registerkarten:
Mit den Optionen in diesen Registerkarten legen Sie fest, für welche Objekte das Profiling ausgeführt werden soll und welche Elemente im Profil anzuzeigen sind.
Klicken Sie auf „OK“, um den Profiler zu starten, wenn Sie die Optionen für das Profiling festgelegt haben. Je nach Projektkonfiguration führt der Profiler einen der folgenden beiden Vorgänge aus:
Bei regulären Identity Manager-Projekten mit einer eingebetteten Identity Manager-Instanz führt der Profiler ein vollständiges Build durch, stellt das Projekt auf dem NetBean-Anwendungsserver bereit und startet den Profiler.
Bei regulären Identity Manager-Projekten mit einer externen Identity Manager-Instanz oder Identity Manager-Fernprojekten verbindet sich der Profiler mit der für das Projekt konfigurierten Identity Manager-Instanz.
Sie können „IdM > Set Identity Manager Instance“ auswählen, um die Aktion der Identity Manager-Instanz für das Projekt festzulegen.
Die Registerkarte „Mode“ enthält folgende Optionen:
IDM Objects Only: Wählen Sie diese Option, um das Profiling für Formulare, Regeln, Arbeitsabläufe und XPRESS-Objekte durchzuführen. Es wird kein Profiling für Java-Objekte ausgeführt.
Java and IDM Objects: Wählen Sie diese Option, um das Profiling für Formulare, Java, Regeln, Arbeitsabläufe und XPRESS-Objekte durchzuführen.
Die Option „Java and IDM Objects“ ist für reguläre Identity Manager-Projekte mit externer Identity Manager-Instanz bzw. Identity Manager-Fernprojekte nicht verfügbar.
Sie können den Modus nicht ändern, während das Profiling läuft. Wenn Sie den Modus ändern möchten, muss der Profiler angehalten werden.
Die Registerkarte „IDM Object Filters“ enthält folgende Optionen:
Show IDM Object details
Markieren Sie dieses Kontrollkästchen, um alle Formulare, Arbeitsabläufe und XPRESS-Elemente, die ausgeführt werden, in den Snapshot einzubeziehen.
Demarkieren Sie dieses Kontrollkästchen, wenn nur die folgende Elemente im Snapshot enthalten sein sollen:
<invoke>
<new>
<Rule>
<Form>
<WFProcess>
<ExScript>
<ExDefun>
<FieldRef>
<Action> (für Zusatzaktionen von Arbeitsablauf-Anwendungen)
Einbeziehen von anonymem Quellcode
Unter anonymen Quellcode versteht man Formulare (oder Teile davon), die dynamisch generiert werden (z.-B. Anmeldeformulare oder Formulare, die auf fehlende Felder hinweisen) und keinem der persistenten Formulare im Identity Manager-Repository entsprechen.
Markieren Sie dieses Kontrollkästchen, wenn anonymer Quellcode in den Snapshot einbezogen werden soll.
Demarkieren Sie dieses Kontrollkästchen, wenn kein anonymer Quellcode im Snapshot enthalten sein soll.
In der Registerkarte „Java Filters“ können Sie:
Java-Filter einbeziehen bzw. ausschließen
neue Filter erstellen
vorhandene Filter löschen
Standardfilter wiederherstellen
Java-Filter sind in Bezug auf Methodenmuster gegeben und werden in ein- bzw. ausschließenden, auf dem kanonischen Methodennamen basierenden Mustern angegeben. Kanonische Methodennamen sehen wie folgt aus:
Klassenname_mit_vollständigem_Pfad.Methodenname(Parametertyp-1, Parametertyp-2, ...)
Für Konstruktoren lautet der Methodenname <init>.
Hier sind einige Beispiele:
Zum Ausschließen von Konstruktoren markieren Sie das Kontrollkästchen „Exclude“ und fügen den folgenden Filter hinzu:
*.<init>(*)
Zum Ausschließen aller Konstruktoren mit einem einzigen Parameter org.w3c.dom.Element markieren Sie das Kontrollkästchen „Exclude“ und fügen den folgenden Filter hinzu:
*.<init>(org.w3c.dom.Element)
Zum Ausschließen aller Identity Manager-Klassen markieren Sie das Kontrollkästchen „Exclude“ und fügen die folgenden Filter hinzu:
"com.waveset.*" "com.sun.idm.*"
Wenn Sie nur benutzerspezifischen Code instrumentieren wollen, deaktivieren Sie das Kontrollkästchen „Exclude“, entfernen den Filter * include zu Beginn und fügen dann den folgenden Filter hinzu:
"com.yourcompany.*"
Die letzten beiden Beispiele haben gegenwärtig den gleichen Effekt, da Filter nur auf benutzerspezifische Klassen und Identity Manager-Klassen angewendet werden.
Falls erforderlich, können Sie durch entsprechendes Ändern der folgenden Zeilen in der Datei build.xml noch andere JAR-Dateien instrumentieren. Zum Beispiel:
<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> |
Standardmäßig sind in der Konfiguration alle benutzerspezifischen und die meisten Identity Manager-Klassen enthalten. Eine Reihe von Identity Manager-Klassen sind zwangsläufig nicht enthalten, da deren Einbeziehung den Profiler funktionsunfähig machen würde.
So sind z.-B. Klassen aus den Arbeitsablauf-, Formular- und XPRESS-Programmen nicht enthalten, da der Profiler beim Profiling von Java- und Identity Manager-Objekten unverständliche Ausgaben generieren würde.
Bitte beachten Sie, dass Java-Filter eine erheblich feinere Filtergranularität als IDM-Objektfilter bieten. Java-Instrumentierungen verlangsamen die Ausführungszeit erheblich, was bei den Profiling-Ergebnissen zu drastischen Abweichungen führen kann. Da Identity Manager-Objekte interpretiert und nicht kompiliert werden, kann der Einfluss der Instrumentierung auf die Ausführungszeit vernachlässigt werden. So gibt es beispielsweise keinen Grund, Arbeitsablauf-A auszuschließen und Arbeitsablauf-B einzubeziehen usw.
Sie können Java-Filter nicht ändern, während das Profiling läuft. Wenn Sie die Java-Filter ändern möchten, muss der Profiler angehalten werden.
Die Registerkarte „Miscellaneous“ enthält folgende Optionen:
Prune snapshot nodes where execution time is 0:
Deaktivieren Sie die Option (standardmäßig deaktiviert), wenn der Snapshot Aufrufdaten für alle ausgeführten Entitäten (auch für die, deren Ausführungszeit 0 ist) enthalten soll.
Unter Umständen ist die Verfolgung der Aufrufanzahl bei Knoten nützlich, deren Ausführungszeit gleich null ist.
Aktivieren Sie diese Option, um diese Knoten auszuschließen. Damit können Sie sich auf die relevantesten Profiling-Daten konzentrieren. Darüber hinaus kann durch Aktivieren dieser Option die Größe eines Profiler-Snapshots erheblich reduziert werden.
Automatically Open Browser Upon Profiler Start:
Aktivieren Sie diese Option (standardmäßig aktiviert), wenn beim Start des Profilers automatisch ein Browser geöffnet werden soll, in dem die Identity Manager-Instanz angezeigt wird, für die das Profiling ausgeführt wird.
Deaktivieren Sie diese Option, wenn kein Browser geöffnet werden soll.
Include Java Sources in Snapshot:
Aktivieren Sie diese Option (standardmäßig aktiviert), wenn Java-Quellcode für alle Java-Methoden enthalten sein soll, die im Snapshot der Profiling-Daten referenziert werden sollen. Diese Einstellung sollte stets für Snapshots unter Produktionsbedingungen verwendet werden. Benutzerspezifischer Java-Code ist beansprucht wenig Ressourcen, und es wichtig, diesen für die Fehlersuche zur Verfügung zu haben.
Deaktivieren Sie diese Option, wenn Sie das Profiling für Identity Manager durchführen und der vollständige Identity Manager-Quellcode verfügbar ist.
In solchen Fällen sollte der Identity Manager-Quellcode nicht in den Snapshots enthalten sein, da dadurch die Snapshot-Größe extrem erhöht wird. (Weitere Informationen finden Sie unter Wie findet und verwaltet der Profiler Quellcode.)