Open hyang023 opened 1 month ago
Pinging code owners:
processor/tailsampling: @jpkrohling
See Adding Labels via Comments if you do not have permissions to add labels yourself.
Another (possible) issue with invert_match precedence is (or I am just not able to do that), to do something like:
http.route == /health
for 0.1%http.route != /health
for 20%The 1st one works easily, but the second one would need to not apply to /health
and therefore an invert_match
seems to be required, which, even in an and
type will create a do not sample
decision which will override the 1st rule.
I think the issue is the same as the backwards compatibility
example.
Component(s)
processor/tailsampling
What happened?
Description
a recent fix went in to address https://github.com/open-telemetry/opentelemetry-collector-contrib/issues/33656 and align with expected behavior documented at https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/tailsamplingprocessor/README.md When there's an "inverted not sample" decision, the trace is not sampled
however, in the same README, the
tail_sampling.policies[]
example policy list includes this backwards compatibility policyand using a collector with this fix means that
service.name
values[list, of, services, using, tail_sampling]
no longer can have other sampling policies applied to them since theirInvertNotSampled
condition will override any applicableSampled
orInvertSampled
Is this change in behavior intended? And if so, what is the new recommended way to define a backwards compatibility policy?
Steps to Reproduce
Expected Result
Expect to be able to define sampling policies for
service.name
values[list, of, services, using, tail_sampling]
andalways_sample
for any other service.name not in this list (or as specified in other policies)Actual Result
no traces for
service.name
values[list, of, services, using, tail_sampling]
can be exported since all are excluded as a result of InvertNotSampledCollector version
0.104.0
Environment information
Environment
OS: (e.g., "Ubuntu 20.04") Compiler(if manually compiled): (e.g., "go 14.2")
OpenTelemetry Collector configuration
No response
Log output
No response
Additional context
No response