diff --git a/dd-trace-core/src/main/java/datadog/trace/common/sampling/DeterministicSampler.java b/dd-trace-core/src/main/java/datadog/trace/common/sampling/DeterministicSampler.java index 1e14230528d..c1da7cf25d5 100644 --- a/dd-trace-core/src/main/java/datadog/trace/common/sampling/DeterministicSampler.java +++ b/dd-trace-core/src/main/java/datadog/trace/common/sampling/DeterministicSampler.java @@ -49,7 +49,7 @@ public DeterministicSampler(final double rate) { @Override public > boolean sample(final T span) { // unsigned 64 bit comparison with cutoff/threshold - return getSamplingId(span) * KNUTH_FACTOR + Long.MIN_VALUE < threshold; + return getSamplingId(span) * KNUTH_FACTOR + Long.MIN_VALUE <= threshold; } protected abstract > long getSamplingId(T span); diff --git a/dd-trace-core/src/test/groovy/datadog/trace/common/sampling/DeterministicTraceSamplerTest.groovy b/dd-trace-core/src/test/groovy/datadog/trace/common/sampling/DeterministicTraceSamplerTest.groovy index e684a1872fa..daa8240cd92 100644 --- a/dd-trace-core/src/test/groovy/datadog/trace/common/sampling/DeterministicTraceSamplerTest.groovy +++ b/dd-trace-core/src/test/groovy/datadog/trace/common/sampling/DeterministicTraceSamplerTest.groovy @@ -121,6 +121,7 @@ class DeterministicTraceSamplerTest extends DDSpecification { true | "9828766684487745566" true | "9908585559158765387" true | "9956202364908137547" + true | "9223372036854775808" } def "test sampling none: #traceId"() {