Use parent-based sampler by default

Closes gh-33821
This commit is contained in:
Moritz Halbritter 2023-01-19 09:09:10 +01:00
parent ae79c60619
commit 31ca94833a
2 changed files with 11 additions and 1 deletions

View File

@ -112,7 +112,8 @@ public class OpenTelemetryAutoConfiguration {
@Bean
@ConditionalOnMissingBean
Sampler otelSampler() {
return Sampler.traceIdRatioBased(this.tracingProperties.getSampling().getProbability());
Sampler rootSampler = Sampler.traceIdRatioBased(this.tracingProperties.getSampling().getProbability());
return Sampler.parentBased(rootSampler);
}
@Bean

View File

@ -80,6 +80,15 @@ class OpenTelemetryAutoConfigurationTests {
});
}
@Test
void samplerIsParentBased() {
this.contextRunner.run((context) -> {
Sampler sampler = context.getBean(Sampler.class);
assertThat(sampler).isNotNull();
assertThat(sampler.getDescription()).startsWith("ParentBased{");
});
}
@ParameterizedTest
@ValueSource(strings = { "io.micrometer.tracing.otel", "io.opentelemetry.sdk", "io.opentelemetry.api" })
void shouldNotSupplyBeansIfDependencyIsMissing(String packageName) {