packagePrefixExclusions 등록 정보

스택 추적에 포함하지 않을 Java™ 패키지의 도메인 및 하위 도메인 목록(파이프로 구분된)을 지정합니다.

등록 정보 stackTraceDepth를 등록 정보 packagePrefixExclusions와 함께 사용하는 경우 pureQuery는 stackTraceDepth를 무시합니다.

디폴트 값은 없습니다. 명령문을 캡처하는 경우에만 이 등록 정보를 사용할 수 있습니다.

예를 들어, IBM® 제품이나 다른 응용프로그램에서 Java 패키지에 대한 항목을 제외할 수도 있습니다. IBM의 Java 패키지는 com.ibm으로 시작합니다. 다른 응용프로그램의 Java 패키지는 모두 com.other로 시작할 수 있습니다. 다음과 같이 필터링을 수행할 수 있습니다.
com.ibm|com.other
packagePrefixExclusions는 내재적 또는 명시적 와일드카드를 승인하지 않습니다. 예를 들어, 다음 두 항목은 모두 com.ibm으로 시작하는 패키지 필터링에 유효하지 않습니다.
  • 내재적 와일드 카드
    com.i
  • 명시적 와일드 카드
    com.i*

클라이언트 최적화에 대한 등록 정보 설정 방법에 설명된 대로 이 등록 정보를 로컬로 또는 전역으로 설정할 수 있습니다. pdq.properties 파일에서 등록 정보를 설정하는 경우 등록 정보의 값은 pdq.properties 파일을 참조하는 응용프로그램에 있는 모든 pureQueryXML 파일에 적용됩니다. 등록 정보를 JVM 시스템 등록 정보로 설정하는 경우, 값은 java 명령으로 시작하는 응용프로그램에 있는 모든 pureQueryXML 파일에 적용됩니다.

증분 캡처를 수행하는 경우: 명령문을 캡처한 후 packagePrefixExclusions의 값을 변경하면 후속 캡처에서 pureQuery가 기존 스택 추적을 새 스택 추적과 비교합니다. packagePrefixExclusions 변경으로 생성된 새 스택 추적이 기존 스택 추적의 일부인 경우 pureQuery는 새 스택 추적을 캡처하지 않습니다.

예:

예를 들어, 다음은 pureQuery가 Test2로 설정된 packagePrefixExclusions로 캡처한 스택 추적입니다.

<trace>
	<traceEntry classFile="myClass" containingPkg="com.myPackage" fileName="Unknown Source" isNative="false" lineNo="" method="addBatch"/>
	<traceEntry classFile="jas114962" containingPkg="Test4" fileName="jas114962.java" isNative="false" lineNo="127" method="funaddbatch1"/>
	<traceEntry classFile="jas114962" containingPkg="Test4" fileName="jas114962.java" isNative="false" lineNo="117" method="funaddbatch_new"/>
	<traceEntry classFile="jas114962" containingPkg="Test3" fileName="jas114962.java" isNative="false" lineNo="118" method="funaddbatch_new"/>       
</trace>

Test4: Test2|Test4를 포함하도록 packagePrefixExclusions의 값을 변경한다고 합시다.

증분 캡처를 수행하고 동일한 SQL문을 실행할 때 다음 스택 추적이 결과로 생성됩니다.

<trace>
	<traceEntry classFile="myClass" containingPkg="com.myPackage" fileName="Unknown Source" isNative="false" lineNo="" method="addBatch"/>
	<traceEntry classFile="jas114962" containingPkg="Test3" fileName="jas114962.java" isNative="false" lineNo="118" method="funaddbatch_new"/>
</trace>

그러나 pureQuery는 이 새 스택 추적을 캡처하지 않습니다. 대신, pureQuery는 이전 스택 추적을 보존합니다. 새 스택 추적 전체가 원래 스택 추적의 일부이기 때문입니다.

packagePrefixExclusion의 값을 Test4로 변경하는 경우 다음 스택 추적이 결과로 생성됩니다.

<trace>
	<traceEntry classFile="myClass" containingPkg="com.myPackage" fileName="Unknown Source" isNative="false" lineNo="" method="addBatch"/
	<traceEntry classFile="jas114962" containingPkg="Test3" fileName="jas114962.java" isNative="false" lineNo="118" method="funaddbatch_new"/>
	<traceEntry classFile="jas892832" containingPkg="Test2" fileName="jasmanoj.java" isNative="false" lineNo="114" method="funaddbatch"/>
	<traceEntry classFile="jas892832" containingPkg="Test2" fileName="jasmanoj.java" isNative="false" lineNo="91" method="main"/>
</trace>

이와 같은 경우, pureQuery는 원래 스택 추적의 일부가 아닌 새 스택 추적을 기록합니다.


피드백