Skip to content

Commit c0e263d

Browse files
committed
Merge pull request #35619 from johnnywiller
* pr/35619: Polish "Allow custom ExemplarSampler to be used" Allow custom ExemplarSampler to be used Closes gh-35619
2 parents 3586bfb + 750096b commit c0e263d

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ public CollectorRegistry collectorRegistry() {
9090
}
9191

9292
@Bean
93-
@ConditionalOnMissingBean
93+
@ConditionalOnMissingBean(ExemplarSampler.class)
9494
@ConditionalOnBean(SpanContextSupplier.class)
9595
public DefaultExemplarSampler exemplarSampler(SpanContextSupplier spanContextSupplier) {
9696
return new DefaultExemplarSampler(spanContextSupplier);

spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfigurationTests.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
import org.springframework.test.util.ReflectionTestUtils;
4646

4747
import static org.assertj.core.api.Assertions.assertThat;
48+
import static org.mockito.Mockito.mock;
4849

4950
/**
5051
* Tests for {@link PrometheusMetricsExportAutoConfiguration}.
@@ -125,6 +126,15 @@ void autoConfiguresExemplarSamplerIfSpanContextSupplierIsPresent() {
125126
.hasSingleBean(PrometheusMeterRegistry.class));
126127
}
127128

129+
@Test
130+
void allowsCustomExemplarSamplerToBeUsed() {
131+
this.contextRunner.withUserConfiguration(ExemplarsConfiguration.class)
132+
.withBean("customExemplarSampler", ExemplarSampler.class, () -> mock(ExemplarSampler.class))
133+
.run((context) -> assertThat(context).hasSingleBean(ExemplarSampler.class)
134+
.getBean(ExemplarSampler.class)
135+
.isSameAs(context.getBean("customExemplarSampler")));
136+
}
137+
128138
@Test
129139
void exemplarSamplerIsNotAutoConfiguredIfSpanContextSupplierIsMissing() {
130140
this.contextRunner.withUserConfiguration(BaseConfiguration.class)

0 commit comments

Comments
 (0)