From 4ecfed65c8bfb36b9bb1ea0ec6edc48c447979eb Mon Sep 17 00:00:00 2001 From: MilanGarnier Date: Wed, 2 Sep 2026 14:20:19 +0200 Subject: [PATCH 1/2] fix(sampling): preserve deterministic sampler rate --- .../trace/common/sampling/DeterministicSampler.java | 4 ++-- .../common/sampling/DeterministicTraceSamplerTest.java | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) 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 c1da7cf25d5..97bec1607ff 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 @@ -38,11 +38,11 @@ protected > long getSamplingId(T span) { private static final double MAX = Math.pow(2, 64) - 1; - private final float rate; + private final double rate; private final long threshold; public DeterministicSampler(final double rate) { - this.rate = (float) rate; + this.rate = rate; this.threshold = cutoff(rate); } diff --git a/dd-trace-core/src/test/java/datadog/trace/common/sampling/DeterministicTraceSamplerTest.java b/dd-trace-core/src/test/java/datadog/trace/common/sampling/DeterministicTraceSamplerTest.java index 9e8a90ab9c8..c97a8056336 100644 --- a/dd-trace-core/src/test/java/datadog/trace/common/sampling/DeterministicTraceSamplerTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/common/sampling/DeterministicTraceSamplerTest.java @@ -357,6 +357,15 @@ void testSamplingAll(String traceId) { assertTrue(sampler.sample(span)); } + @TableTest({ + "rate ", + "0.123456789", + "0.999999999" + }) + void preservesConfiguredSampleRate(double rate) { + assertEquals(rate, new DeterministicSampler.TraceSampler(rate).getSampleRate()); + } + @ParameterizedTest(name = "rate={0}") @MethodSource("testCutoffCalculationArguments") void testCutoffCalculation(int rate) { From f9e6ae4c0d99ac052531224f6844a02b9b0922ac Mon Sep 17 00:00:00 2001 From: MilanGarnier Date: Wed, 2 Sep 2026 14:35:30 +0200 Subject: [PATCH 2/2] style(sampling): apply spotless formatting --- .../common/sampling/DeterministicTraceSamplerTest.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/dd-trace-core/src/test/java/datadog/trace/common/sampling/DeterministicTraceSamplerTest.java b/dd-trace-core/src/test/java/datadog/trace/common/sampling/DeterministicTraceSamplerTest.java index c97a8056336..15619031841 100644 --- a/dd-trace-core/src/test/java/datadog/trace/common/sampling/DeterministicTraceSamplerTest.java +++ b/dd-trace-core/src/test/java/datadog/trace/common/sampling/DeterministicTraceSamplerTest.java @@ -357,11 +357,7 @@ void testSamplingAll(String traceId) { assertTrue(sampler.sample(span)); } - @TableTest({ - "rate ", - "0.123456789", - "0.999999999" - }) + @TableTest({"rate ", "0.123456789", "0.999999999"}) void preservesConfiguredSampleRate(double rate) { assertEquals(rate, new DeterministicSampler.TraceSampler(rate).getSampleRate()); }