New Relic para Java le ofrece múltiples métodos para ignorar transacciones específicas. Este documento explica cómo utilizar las anotaciones de la API del agente de Java y ServletRequest
para ignorar la transacción.
También es posible utilizar la llamada API ignoreTransaction()
y los archivos de instrumentación XML para ignorar la transacción.
Importante
Ignorar la transacción implica cambiar el código fuente de su aplicación y volver a compilarla en todos los casos unless en los que utilice un archivo de instrumentación XML. Si no puede manipular su código, use XML para ignorar la transacción.
Ignorar transacción web con ServletRequest
Para ignorar una transacción web, establezca un atributo ServletRequest
denominado com.newrelic.agent.IGNORE
en true
durante la solicitud:
request.setAttribute("com.newrelic.agent.IGNORE", true);
Para especificar las URL que desea ignorar, cree un filtro de servlet que establezca ese atributo y aplique el filtro al servlet que desea ignorar. El filtro tendrá acceso al URI de solicitud si necesita ignorar URL específicas.
Ignorar transacción con anotación
Para decirle al agente de Java que ignore la transacción usando anotaciones:
Defina una anotación llamada
NewRelicIgnoreTransaction
en el código de su aplicación o una biblioteca que pueda integrar con su aplicación:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface NewRelicIgnoreTransaction {}Aplique la anotación a los métodos o clases que desee ignorar. Por ejemplo:
@NewRelicIgnoreTransactionpublic void methodToBeIgnored() {}
Si una transacción llama a un método o clase anotada con @NewRelicIgnoreTransaction
, la transacción se ignora. Esto significa que no contribuye a la puntuación general de Apdex; y no se reporta la traza de la transacción ni los datos de desempeño.
Ignorar apdex pero no traza
También puede evitar que la transacción contribuya a la puntuación de Apdex pero aún así se utilice en la transacción. Esto puede evitar que una transacción particularmente larga sesgue su puntuación Apdex. Para evitar que una transacción contribuya a su puntuación Apdex:
Defina una anotación llamada
NewRelicIgnoreApdex
en el código de su aplicación o una biblioteca que pueda integrar con su aplicación:@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface NewRelicIgnoreApdex {}Aplique la anotación a los métodos o clases que desee ignorar. Por ejemplo:
@NewRelicIgnoreApdexpublic void ignoreApdexOfThisMethod() {}
Si una transacción llama a un método o clase anotado con @NewRelicIgnoreApdex
, la transacción se informa, pero no contribuye a la puntuación general de Apdex.