Browse Source

Merge pull request #35619 from johnnywiller

* pr/35619:
  Polish "Allow custom ExemplarSampler to be used"
  Allow custom ExemplarSampler to be used

Closes gh-35619
pull/37018/head
Stephane Nicoll 3 years ago
parent
commit
c0e263dc3c
  1. 2
      spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfiguration.java
  2. 10
      spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/prometheus/PrometheusMetricsExportAutoConfigurationTests.java

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

@ -90,7 +90,7 @@ public class PrometheusMetricsExportAutoConfiguration { @@ -90,7 +90,7 @@ public class PrometheusMetricsExportAutoConfiguration {
}
@Bean
@ConditionalOnMissingBean
@ConditionalOnMissingBean(ExemplarSampler.class)
@ConditionalOnBean(SpanContextSupplier.class)
public DefaultExemplarSampler exemplarSampler(SpanContextSupplier spanContextSupplier) {
return new DefaultExemplarSampler(spanContextSupplier);

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

@ -45,6 +45,7 @@ import org.springframework.context.annotation.Import; @@ -45,6 +45,7 @@ import org.springframework.context.annotation.Import;
import org.springframework.test.util.ReflectionTestUtils;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
/**
* Tests for {@link PrometheusMetricsExportAutoConfiguration}.
@ -125,6 +126,15 @@ class PrometheusMetricsExportAutoConfigurationTests { @@ -125,6 +126,15 @@ class PrometheusMetricsExportAutoConfigurationTests {
.hasSingleBean(PrometheusMeterRegistry.class));
}
@Test
void allowsCustomExemplarSamplerToBeUsed() {
this.contextRunner.withUserConfiguration(ExemplarsConfiguration.class)
.withBean("customExemplarSampler", ExemplarSampler.class, () -> mock(ExemplarSampler.class))
.run((context) -> assertThat(context).hasSingleBean(ExemplarSampler.class)
.getBean(ExemplarSampler.class)
.isSameAs(context.getBean("customExemplarSampler")));
}
@Test
void exemplarSamplerIsNotAutoConfiguredIfSpanContextSupplierIsMissing() {
this.contextRunner.withUserConfiguration(BaseConfiguration.class)

Loading…
Cancel
Save