Java 필터 탭을 선택하여 다음을 수행할 수 있습니다.
Java 필터 포함 또는 제외
새 필터 만들기
기존 필터 삭제
기본 필터 복원
Java 필터는 메소드 패턴으로 제공되며, 정규 메소드 이름에 따라 포함 또는 제외되는 패턴으로 표시됩니다. 여기서 정규 메소드 이름은 다음과 같습니다.
fully-qualified-class-name.method-name(parameter-type-1, parameter-type-2, ...)
구성자의 경우 method-name은 <init>입니다.
다음은 몇 가지 예입니다.
모든 구성자를 제외하려면 제외 확인란을 활성화하고 다음 필터를 추가합니다.
*.<init>(*)
단일 org.w3c.dom.Element 매개 변수를 사용하여 모든 구성자를 제외하려면 제외 확인란을 활성화하고 다음 필터를 추가합니다.
*.<init>(org.w3c.dom.Element)
모든 Identity Manager 클래스를 제외하려면 제외 확인란을 활성화하고 다음 필터를 추가합니다.
"com.waveset.*" "com.sun.idm.*"
사용자 정의 코드만 지정하려면 제외 확인란을 비활성화하고 초기 * include 필터를 제거한 다음 필터를 추가합니다.
"com.yourcompany.*"
필터가 사용자 정의 클래스와 Identity Manager 클래스에만 적용되기 때문에 현재 마지막 두 예제는 동일합니다.
필요한 경우 build.xml의 다음 행을 적절하게 수정하여 다른 jar을 지정할 수 있습니다. 예를 들면 다음과 같습니다.
<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> |
기본적으로 구성에는 모든 사용자 정의 클래스와 대부분의 Identity Manager 클래스가 포함되어 있습니다. 많은 Identity Manager 클래스들이 활성화되면 프로필러를 차단하기 때문에 강제로 제외됩니다.
예를 들어, 작업 흐름, 양식 및 XPRESS 엔진의 클래스가 제외되거나, 프로필러가 Java 및 Identity Manager 객체를 프로필링할 때 알 수 없는 스냅샷을 생성합니다.
Java 필터는 IDM 객체 필터보다 훨씬 세밀한 필터링을 제공합니다. Java 계측에서는 실행 시간에 많은 오버헤드를 추가하므로, 프로필링 결과가 완전히 왜곡될 수 있습니다. Identity Manager 객체는 컴파일되는 것이 아니라 해석되는 것이므로 계측 오버헤드를 무시해도 좋습니다. 예를 들어, 작업 흐름 A를 제외하고 작업 흐름 B 등을 포함하는 근본적인 이유는 없습니다.
프로필러가 실행 중인 동안에는 Java 필터를 수정할 수 없습니다. Java 필터를 변경하려면 프로필러를 중지해야 합니다.