Ignoring transactions involves changing your application's source code and recompiling your application in all cases unless you use an XML instrumentation file. If you cannot manipulate your code, use XML to ignore transactions.

Ignore web transactions with ServletRequest

To ignore a web transaction, set a ServletRequest attribute named com.newrelic.agent.IGNORE to true during the request:

request.setAttribute("com.newrelic.agent.IGNORE", true);

To specify URLs to ignore, create a servlet filter which sets that attribute and apply the filter to the servlet you want to ignore. The filter will have access to the request URI if you need to ignore specific URLs.

Ignore transactions with annotation

To tell the Java agent to ignore transactions using annotations:

Define an annotation called NewRelicIgnoreTransaction in your application's code or a library you can integrate with your application:

Apply the annotation to the methods or classes you want to ignore. For example:

@NewRelicIgnoreTransaction
public void methodToBeIgnored() {
}

If a transaction calls a method or class annotated with @NewRelicIgnoreTransaction, the transaction is ignored. This means it does not contribute to the overall Apdex score; and the transaction trace and performance data is not reported.

Ignore apdex but not traces

You can also prevent the transaction from contributing to the Apdex score but still be used in transaction. This can prevent one particularly lengthy transaction from skewing your Apdex score. To prevent a transaction from contributing to your Apdex score:

Define an annotation called NewRelicIgnoreApdex in your application's code or a library you can integrate with your application: