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.