diff --git a/dd-smoke-tests/openfeature/src/test/resources/ffe-system-test-data b/dd-smoke-tests/openfeature/src/test/resources/ffe-system-test-data index 2c0c8d55f66..aaa97e44bb1 160000 --- a/dd-smoke-tests/openfeature/src/test/resources/ffe-system-test-data +++ b/dd-smoke-tests/openfeature/src/test/resources/ffe-system-test-data @@ -1 +1 @@ -Subproject commit 2c0c8d55f665fe4a847fc0ded3abf59b7e2896fc +Subproject commit aaa97e44bb19c9cee7ae079995ddbcc864c6b702 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..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,6 +357,11 @@ 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) {