diff --git a/src/datadog/trace_sampler.cpp b/src/datadog/trace_sampler.cpp index 29e38ef8..d6f2d8bd 100644 --- a/src/datadog/trace_sampler.cpp +++ b/src/datadog/trace_sampler.cpp @@ -55,7 +55,7 @@ SamplingDecision TraceSampler::decide(const SpanData& span) { decision.limiter_max_per_second = limiter_max_per_second_; decision.configured_rate = rule.rate; const std::uint64_t threshold = max_id_from_rate(rule.rate); - if (knuth_hash(span.trace_id.low) < threshold) { + if (knuth_hash(span.trace_id.low) <= threshold) { const auto result = limiter_.allow(); if (result.allowed) { decision.priority = int(SamplingPriority::USER_KEEP); @@ -90,7 +90,7 @@ SamplingDecision TraceSampler::decide(const SpanData& span) { } const std::uint64_t threshold = max_id_from_rate(*decision.configured_rate); - if (knuth_hash(span.trace_id.low) < threshold) { + if (knuth_hash(span.trace_id.low) <= threshold) { decision.priority = int(SamplingPriority::AUTO_KEEP); } else { decision.priority = int(SamplingPriority::AUTO_DROP);