diff --git a/custom/build.gradle.kts b/custom/build.gradle.kts index a415796a..2ece66aa 100644 --- a/custom/build.gradle.kts +++ b/custom/build.gradle.kts @@ -29,11 +29,10 @@ dependencies { compileOnly("io.opentelemetry.javaagent:opentelemetry-javaagent-tooling") compileOnly(libs.bundles.semconv) - implementation(libs.contribConsistentSampling) { - // exclude transitive dependency as it's provided through agent packaging - exclude(group = "io.opentelemetry", module = "opentelemetry-sdk-trace") - exclude(group = "io.opentelemetry", module = "opentelemetry-sdk-extension-autoconfigure-spi") - } + // consistent sampler is currently in SDK incubator. + implementation("io.opentelemetry:opentelemetry-sdk-extension-incubator") + testImplementation("io.opentelemetry:opentelemetry-sdk-extension-incubator") + implementation(libs.contribSpanStacktrace) { // exclude transitive dependency as it's provided through agent packaging exclude(group = "io.opentelemetry", module = "opentelemetry-sdk") diff --git a/custom/src/main/java/co/elastic/otel/compositesampling/DynamicCompositeParentBasedTraceIdRatioBasedSampler.java b/custom/src/main/java/co/elastic/otel/compositesampling/DynamicCompositeParentBasedTraceIdRatioBasedSampler.java index 6135135f..c4f54d66 100644 --- a/custom/src/main/java/co/elastic/otel/compositesampling/DynamicCompositeParentBasedTraceIdRatioBasedSampler.java +++ b/custom/src/main/java/co/elastic/otel/compositesampling/DynamicCompositeParentBasedTraceIdRatioBasedSampler.java @@ -21,7 +21,8 @@ import io.opentelemetry.api.common.Attributes; import io.opentelemetry.api.trace.SpanKind; import io.opentelemetry.context.Context; -import io.opentelemetry.contrib.sampler.consistent56.ConsistentSampler; +import io.opentelemetry.sdk.extension.incubator.trace.samplers.ComposableSampler; +import io.opentelemetry.sdk.extension.incubator.trace.samplers.CompositeSampler; import io.opentelemetry.sdk.trace.data.LinkData; import io.opentelemetry.sdk.trace.samplers.Sampler; import io.opentelemetry.sdk.trace.samplers.SamplingResult; @@ -57,7 +58,8 @@ public String getDescription() { private static Sampler newSampler(double ratio) { latestRatio = ratio; - return ConsistentSampler.parentBased(ConsistentSampler.probabilityBased(ratio)); + ComposableSampler rootSampler = ComposableSampler.probability(ratio); + return CompositeSampler.wrap(ComposableSampler.parentThreshold(rootSampler)); } public String toString() { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index bfc65348..fdf945f4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -31,7 +31,6 @@ opentelemetryInstrumentationAlphaBom = { group = "io.opentelemetry.instrumentati opentelemetryProto = { group = "io.opentelemetry.proto", name = "opentelemetry-proto", version.ref = "opentelemetryProto" } -contribConsistentSampling = { group = "io.opentelemetry.contrib", name = "opentelemetry-consistent-sampling", version.ref = "opentelemetryContribAlpha" } contribResources = { group = "io.opentelemetry.contrib", name = "opentelemetry-resource-providers", version.ref = "opentelemetryContribAlpha" } contribSpanStacktrace = { group = "io.opentelemetry.contrib", name = "opentelemetry-span-stacktrace", version.ref = "opentelemetryContribAlpha" } contribInferredSpans = { group = "io.opentelemetry.contrib", name = "opentelemetry-inferred-spans", version.ref = "opentelemetryContribAlpha" }