O New Relic for Java oferece vários métodos para ignorar transações específicas. Este documento explica como usar as anotações da API do agente Java e ServletRequest
para ignorar a transação.
Também é possível usar a chamada de API ignoreTransaction()
e arquivos de instrumentação XML para ignorar a transação.
Importante
Ignorar a transação envolve alterar o código-fonte do seu aplicativo e recompilá-lo em todos os casos unless em que você usa um arquivo de instrumentação XML. Se você não consegue manipular seu código, use XML para ignorar a transação.
Ignorar transação da web com ServletRequest
Para ignorar uma transação da web, defina um atributo ServletRequest
denominado com.newrelic.agent.IGNORE
como true
durante a solicitação:
request.setAttribute("com.newrelic.agent.IGNORE", true);
Para especificar URLs a serem ignorados, crie um filtro de servlet que defina esse atributo e aplique o filtro ao servlet que deseja ignorar. O filtro terá acesso ao URI da solicitação se você precisar ignorar URLs específicos.
Ignorar transação com anotação
Para instruir o agente Java a ignorar a transação usando anotações:
Defina uma anotação chamada
NewRelicIgnoreTransaction
no código do seu aplicativo ou uma biblioteca que você possa integrar ao seu aplicativo:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface NewRelicIgnoreTransaction {}Aplique a anotação aos métodos ou classes que deseja ignorar. Por exemplo:
@NewRelicIgnoreTransactionpublic void methodToBeIgnored() {}
Se uma transação chamar um método ou classe anotada com @NewRelicIgnoreTransaction
, a transação será ignorada. Isso significa que não contribui para a pontuação geral do Apdex; e o rastreamento da transação e os dados de desempenho não são reportados.
Ignore o apdex, mas não o trace
Você também pode evitar que a transação contribua para a pontuação Apdex, mas ainda assim seja usada na transação. Isso pode evitar que uma transação particularmente longa distorça sua pontuação Apdex. Para evitar que uma transação contribua para sua pontuação Apdex:
Defina uma anotação chamada
NewRelicIgnoreApdex
no código do seu aplicativo ou uma biblioteca que você possa integrar ao seu aplicativo:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface NewRelicIgnoreApdex {}Aplique a anotação aos métodos ou classes que deseja ignorar. Por exemplo:
@NewRelicIgnoreApdexpublic void ignoreApdexOfThisMethod() {}
Se uma transação chamar um método ou classe anotada com @NewRelicIgnoreApdex
, a transação será reportada, mas não contribuirá para a pontuação geral do Apdex.