Your data. Anywhere you go.

New Relic for iOS or Android


Download on the App Store    Android App on Google play


New Relic Insights App for iOS


Download on the App Store


Learn more

Close icon

Any way to exclude a transaction from the Apdex?

feature-request

#1

We are finding that certain types of requests (a file upload, for example), are unavoidably slow and are impacting the overall Apdex score and average page timings. This can even lead to alerts that wake the Ops team during the night. I know that the .NET side offers an IgnoreApdex() call that can be inserted into the code, but is there anything similar on the Node side?

What we’d really like is the ability to exclude a particular transaction from the Apdex (and perhaps even from overall average timings), simply by clicking something on the NR site. Basically a similar concept to defining a key transaction, but more like a non-key transaction (excluded, rather than tracked separately). But failing this, an IgnoreApdex() type of call would also be workable.


How do I remove a single transaction from aggregated stats?
#2

Hey Todd, for the Node Agent you can ignore a transaction entirely using ignoring rules or API calls, but there’s not a way to specifically ignore a transaction for Apdex purposes currently. We can definitely let our product team know if you’re interested in having that call added.

It would also be an option to use the Key Transaction functionality to set a higher Apdex T for this transaction. Although it’s a bit counter-intuitive to specially track something you don’t really want to track, it does generally work to fix the Apdex issue.


#3

Thanks Alexis. To make sure I understand: Are you saying that if I define a key transaction with its own Apdex T setting, that transaction will no longer be included in the overall Apdex calculations? If so, that would meet our needs.

Ignoring the transaction would be an option too, but it seems better to be able to track it even though we don’t strictly care how long it takes.


#4

Hi Todd, not quite! It’ll still be included in the overall calculations, but the threshold applied will be specific to that transaction, so the result will be that it doesn’t have disproportionate impact on the overall result.


#5

Hi Alexis,

We also have a need to suppress alerting based on the transaction, e.g. certain internal tools cause alerts while its not important for the overall system performance alerting.

Has there been any update to the NewRelic tools to be able to handle this from the Apdex perspective?

What Todd mentions would also be helpful, if available:


#6

Hey @mr_dev - utilizing Key Transactions to adjust a unique Apdex value or ignoring a certain transaction all together, will be our existing options to adjust for transactions that have a known-impact.

For the Node agent, this can be done as Alexis mentioned on March 6, or with the API call here:

https://docs.newrelic.com/docs/agents/nodejs-agent/supported-features/nodejs-agent-api#ignore

If this isn’t quite what you’re looking for, please specify and we can work towards your end goal.


#7

Hi @netheroth,

It is important for us to keep all transactions and be able to control the suppression from within the NewRelic APM tools. We do not want to ignore or throw away any transactions at agent level.

Is that something one can do from the APMs and Apdex for APMs?


#8

This is what our Key Transactions were designed for! Where you can adjust Apdex on a per-transaction basis and gets included in your overall Apdex score, based on Alexis’ comment above:

If there is something specific that this does not address, can you let us know?


#9

@netheroth, what this doesn’t address is the ability to ignore certain transactions from the overall application transactions. With Key Transactions, one can only choose what transactions to watch, but one cannot simply skip/ignore/unwatch specific transactions.


#10

Hey @mr_dev - @netheroth shared a docs link that should help out. Will that approach work for you?


#11

We too have the same issue with NodeJS SDK. 90% of the web application takes under 150ms to load a page. We do have a couple of longer processes that take about 3-10 seconds. When those are run, our global ApDex is negatively affected. Our business team doesn’t believe that this is “not an issue”.

We would like to be able to exclude those transactions from the overall calculation and track them separately as transactions. I do see that newrelic_ignore_apdex is supported in Ruby SDK but not NodeJS.

So what we are really looking for is a way to exclude from global ApDex while capturing separately.


#12

@netheroth The change that @craig_hoover mentioned (adding newrelic_ignore_apdex to the NodeJS SDK) would be useful for us as well. Has there been any progress or discussion around this?


#13

We don’t have any news to share at this point. However I have passed on your and @craig_hoover’s interest in such functionality. Thanks for the input!


#14

Is there a difference on how Java App and NodeJS App work?.

Java App:

  • Global App Apdex T 2s
  • One Key Transaction with Apdex T 34s
  • Global Apdex Score is not affected

NodeJS App:

  • Global App Apdex T 0.5s
  • One Key Transaction with Apdex 34s
  • Global Apdex Score is very low on each Key Transaction call.


#15

Hi @fchambo. There currently is a difference, but that is actually a bug. The node agent should be reporting apdex the same way as the Java agent, shown here. Basically, what is happening here is that the node agent is not excluding the key transaction as it should be. We have a ticket filed to look in to this.

Thanks!


#16

Hi @seth. Can you share a permalink to the ticket, so we can follow the resolution progress on this bug? I’m still seeing this behaviour

Thanks!


#17

Hi @fchambo. Thanks for following up. We track bugs internally, and right now this is still an open issue. I have this forum linked to the ticket, and there should be an update on here when that gets resolved.

Cheers!


#18

Hi guys, following the discussion, by transactions, you mean also ajax calls? Even to 3rd party services? In our site, we send data to intercom.io (send only transactions, no need to wait for response) that sometimes takes too much time (although the data is sent to the service). But from time to time, it creates unexplained delays that are translated as alerts from New Relic. Can we exclude ajax calls from the apdex calculation?

Thank you in advance.


#19

HI @snikolaidis. Do you want to ignore these entirely, or just from the Apdex? If you want to ignore the transaction in the node agent you can use an ignore rule. With New Relic agents, if you just want to have it tracked separately and not affect the Apdex, you can create a key transaction in the UI.

There is one caveat to that with the Node agent, in that there is a bug with key transactions, and they will still affect the apdex.

Let me know if you have any questions with that!


#20

Is there any progress on this issue? It is almost 1 year old.