New Relic for Java는 특정 트랜잭션을 무시하는 여러 방법을 제공합니다. 이 문서에서는 Java 에이전트 API 주석 및 ServletRequest
을 사용하여 트랜잭션을 무시하는 방법을 설명합니다.
ignoreTransaction()
API 호출 및 XML 계측 파일 을 사용하여 트랜잭션을 무시할 수도 있습니다.
중요
트랜잭션을 무시하려면 애플리케이션의 소스 코드를 변경하고 unless XML 계측 파일을 사용하는 모든 경우에 애플리케이션을 다시 컴파일해야 합니다. 코드를 조작할 수 없는 경우 XML을 사용하여 트랜잭션을 무시하세요.
ServletRequest로 웹 트랜잭션 무시
웹 트랜잭션을 무시하려면 요청 중에 이름이 com.newrelic.agent.IGNORE
인 ServletRequest
속성을 true
로 설정합니다.
request.setAttribute("com.newrelic.agent.IGNORE", true);
무시할 URL을 지정하려면 해당 속성을 설정하는 서블릿 필터 를 만들고 무시하려는 서블릿에 필터를 적용합니다. 특정 URL을 무시해야 하는 경우 필터가 요청 URI에 액세스할 수 있습니다.
주석이 있는 트랜잭션 무시
주석을 사용하여 트랜잭션을 무시하도록 Java 에이전트에 지시하려면 다음을 수행하십시오.
애플리케이션 코드 또는 애플리케이션과 통합할 수 있는 라이브러리에
NewRelicIgnoreTransaction
이라는 주석을 정의합니다.@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface NewRelicIgnoreTransaction {}무시하려는 메서드 또는 클래스에 주석을 적용합니다. 예를 들어:
@NewRelicIgnoreTransactionpublic void methodToBeIgnored() {}
트랜잭션이 @NewRelicIgnoreTransaction
주석이 달린 메서드나 클래스를 호출하면 트랜잭션이 무시됩니다. 이는 전체 Apdex 점수에 기여하지 않음을 의미합니다. 트랜잭션 추적 및 성능 데이터는 보고되지 않습니다.
apdex는 무시하지만 추적은 무시
또한 트랜잭션이 Apdex 점수에 기여하는 것을 방지할 수 있지만 여전히 트랜잭션에서 사용됩니다. 이렇게 하면 특히 긴 트랜잭션 하나가 Apdex 점수를 왜곡하는 것을 방지할 수 있습니다. 트랜잭션이 Apdex 점수에 기여하지 않도록 하려면:
애플리케이션 코드 또는 애플리케이션과 통합할 수 있는 라이브러리에
NewRelicIgnoreApdex
이라는 주석을 정의합니다.@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface NewRelicIgnoreApdex {}무시하려는 메서드 또는 클래스에 주석을 적용합니다. 예를 들어:
@NewRelicIgnoreApdexpublic void ignoreApdexOfThisMethod() {}
트랜잭션이 @NewRelicIgnoreApdex
주석이 달린 메서드나 클래스를 호출하는 경우 트랜잭션이 보고되지만 전체 Apdex 점수에 기여하지는 않습니다.