New Relic for Java vous propose plusieurs méthodes pour ignorer des transactions spécifiques. Ce document explique comment utiliser les annotations de l'API de l'agent Java et ServletRequest
pour ignorer les transactions.
Il est également possible d'utiliser l'appel d'API ignoreTransaction()
et les fichiers instrumentation XML pour ignorer les transactions.
Important
Ignorer les transactions implique de modifier le code source de votre application et de recompiler votre application dans tous les unless où vous utilisez un fichier d'instrumentation XML. Si vous ne pouvez pas manipuler votre code, utilisez XML pour ignorer les transactions.
Ignorer la transaction Web avec ServletRequest
Pour ignorer une transaction Web, définissez un attribut ServletRequest
nommé com.newrelic.agent.IGNORE
sur true
lors de la requête :
request.setAttribute("com.newrelic.agent.IGNORE", true);
Pour spécifier les URL à ignorer, créez un filtre de servlet qui définit cet attribut et appliquez le filtre au servlet que vous souhaitez ignorer. Le filtre aura accès à l'URI de la demande si vous devez ignorer des URL spécifiques.
Ignorer les transactions avec annotation
Pour indiquer à l’agent Java d’ignorer les transactions à l’aide d’annotations :
Définissez une annotation appelée
NewRelicIgnoreTransaction
dans le code de votre application ou une bibliothèque que vous pouvez intégrer à votre application :@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface NewRelicIgnoreTransaction {}Appliquez l’annotation aux méthodes ou classes que vous souhaitez ignorer. Par exemple:
@NewRelicIgnoreTransactionpublic void methodToBeIgnored() {}
Si une transaction appelle une méthode ou une classe annotée avec @NewRelicIgnoreTransaction
, la transaction est ignorée. Cela signifie qu'il ne contribue pas au score Apdex global ; et les données trace des transactions et de performances ne sont pas rapportées.
Ignorer apdex mais ne pas tracer
Vous pouvez également empêcher la transaction de contribuer au score Apdex tout en la laissant utilisée dans la transaction. Cela peut empêcher une transaction particulièrement longue de fausser votre score Apdex. Pour empêcher une transaction de contribuer à votre score Apdex :
Définissez une annotation appelée
NewRelicIgnoreApdex
dans le code de votre application ou une bibliothèque que vous pouvez intégrer à votre application :@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface NewRelicIgnoreApdex {}Appliquez l’annotation aux méthodes ou classes que vous souhaitez ignorer. Par exemple:
@NewRelicIgnoreApdexpublic void ignoreApdexOfThisMethod() {}
Si une transaction appelle une méthode ou une classe annotée avec @NewRelicIgnoreApdex
, la transaction est signalée, mais ne contribue pas au score Apdex global.