add a provider for consistent parent based probability sampler (#1005)
This commit is contained in:
parent
87825466e7
commit
3af6cf32c1
|
@ -8,6 +8,7 @@ otelJava.moduleName.set("io.opentelemetry.contrib.sampler.consistent")
|
|||
|
||||
dependencies {
|
||||
api("io.opentelemetry:opentelemetry-sdk-trace")
|
||||
api("io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi")
|
||||
testImplementation("org.hipparchus:hipparchus-core:2.3")
|
||||
testImplementation("org.hipparchus:hipparchus-stat:2.3")
|
||||
}
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
/*
|
||||
* Copyright The OpenTelemetry Authors
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
package io.opentelemetry.contrib.sampler.consistent;
|
||||
|
||||
import io.opentelemetry.sdk.autoconfigure.spi.ConfigProperties;
|
||||
import io.opentelemetry.sdk.autoconfigure.spi.traces.ConfigurableSamplerProvider;
|
||||
import io.opentelemetry.sdk.trace.samplers.Sampler;
|
||||
|
||||
public final class ParentBasedConsistentProbabilitySamplerProvider
|
||||
implements ConfigurableSamplerProvider {
|
||||
|
||||
@Override
|
||||
public Sampler createSampler(ConfigProperties config) {
|
||||
double samplingProbability = config.getDouble("otel.traces.sampler.arg", 1.0d);
|
||||
return ConsistentSampler.parentBased(ConsistentSampler.probabilityBased(samplingProbability));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return "parentbased_consistent_probability";
|
||||
}
|
||||
}
|
|
@ -0,0 +1 @@
|
|||
io.opentelemetry.contrib.sampler.consistent.ParentBasedConsistentProbabilitySamplerProvider
|
Loading…
Reference in New Issue