cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

URL-based sampling vs excluding web request URLs

Enrico_F
DynaMight Pro
DynaMight Pro

Currently it seems there are two ways how incoming web requests can be excluded from monitoring globally:

  1. via setting "Server-side service monitoring -> URL-based sampling" and enabling option "Ignore URLs with specific path and/or query parameters"
  2. via setting "Server-side service monitoring -> Deep monitoring -> Exclude specific incoming web request URLs"

Naively, I would say they do exactly the same although option #1 seems a bit more flexible as it allows to match HTTP methods and query parameters and also supports additional scopes (i.e. Process Groups).

So my question: Is there ANY reason one would still be compelled to choose option #2 over #1??

9 REPLIES 9

marina_pollehn
DynaMight Champion
DynaMight Champion

I think it could be the level of when they are ignored, for example at storage or capture (limiting traffic).

Option 1 seems to ignore on capture level, maybe option 2 at storage (I could not find something verifying this yet)?

A Dynatrace Professional nerd working for Conclusion Xforce

gbaudart
DynaMight Champion
DynaMight Champion

Option 1 is more recent. It allows you to completely ignore the capture of an endpoint, but also to simply reduce the capture rate, which can also be beneficial. Note also that if you see that you are unable to capture all of your traffic (ATM Dashboard), you can also configure the capture rate of priority endpoints to be increased (to be sure that they are captured).
Dynatrace recently recommended using option 1 (url-based sampling) whenever possible (OA higher than v1.279).
Note that as long as you are able to capture 100% of your traffic (see ATM), the rules of option 1 will not be triggered (this only changes with option 2, which is permanent).

 

Note that ignored captures are not saved and therefore do not use retention.

You can track the capture rate of an endpoint using the MDA for the ATM

 

Observability Consultant - Dynatrace Professional Certified


@gbaudart wrote:

Note that as long as you are able to capture 100% of your traffic (see ATM), the rules of option 1 will not be triggered (this only changes with option 2, which is permanent).


That seems to contradict the pop-up info text:

Enrico_F_0-1713188675703.png

Based on that info I would say there is no reason for choosing option #2 over #1. However, an official confirmation would be helpful.

gbaudart
DynaMight Champion
DynaMight Champion

ATM is activated when there is too much traffic to capture. This is when the Url-Based Sampling rules are triggered.
If the tenant can handle the full load, ATM will not be activated.
This is what the Dynatrace ACE service told me.

Observability Consultant - Dynatrace Professional Certified


@gbaudart wrote:

ATM is activated when there is too much traffic to capture. This is when the Url-Based Sampling rules are triggered.
If the tenant can handle the full load, ATM will not be activated.
This is what the Dynatrace ACE service told me.


It looks like this is only partially true, namely when the option "Ignore URLs with specific path and/or query parameters" is NOT enabled because I just tested it on a tenant that has no active ATM and it seemed the setting was taking effect regardless.

As it stands now I must therefore assume option #2 has become completely redundant as it has been effectively replaced by option #1.

In any case, it would be helpful if this could be officially confirmed by a product manager or dev responsible for this feature.

Enrico_F
DynaMight Pro
DynaMight Pro

It seems there is one rather important difference between the two options:

Option #2 will only ignore the root-path of a captured distributed trace for a web request matching the URL pattern while option #1 will additionally ignore all potential sub-paths captured by any child-agents in correlated downstream processes.

In other words: With option #2 it might still be possible to see traces for any downstream web requests if their URL is not matched by any configured pattern (i.e. the entrypoint of the captured trace might get pushed downstream).

Disclaimer: This info is based on unofficial feedback we received from a member of the Dynatrace ACE team and not verified.

ben_wrightson
Dynatrace Champion
Dynatrace Champion

@gbaudart is correct.


ATM is activated when there is too much traffic to capture. This is when the Url-Based Sampling rules are triggered.
If the tenant can handle the full load, ATM will not be activated.

The URL-based sampling rules are indeed only triggered if ATM is active (i.e. there are too many requests to capture them all).

The documentation does not currently reflect that, but that is something that's being improved at the moment.

Not according to my own specific tests for option "Ignore URLs with specific path and/or query parameters" dating back to April 2024 as well as the info given in the UI:

Enrico_F_0-1713188675703.png
Has anything changed in this regards since OA 1.287 ?

You're right, if you choose "Ignore URLs...", then that is independent of Adaptive Traffic Management (ATM) and is applied always (then the dropdown to reduce the capturing factor also disappears). 
If you don't turn on "Ignore URLs..." then the configured sampling kicks in only after ATM is active.

Featured Posts