diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontMetricsExportAutoConfiguration.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontMetricsExportAutoConfiguration.java index b9c74ec9db6..d2d19957206 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontMetricsExportAutoConfiguration.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontMetricsExportAutoConfiguration.java @@ -21,7 +21,6 @@ import java.time.Duration; import com.wavefront.sdk.common.WavefrontSender; import com.wavefront.sdk.direct.ingestion.WavefrontDirectIngestionClient.Builder; import io.micrometer.core.instrument.Clock; -import io.micrometer.core.instrument.config.MissingRequiredConfigurationException; import io.micrometer.wavefront.WavefrontConfig; import io.micrometer.wavefront.WavefrontMeterRegistry; @@ -40,7 +39,6 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties import org.springframework.boot.context.properties.PropertyMapper; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.util.StringUtils; import org.springframework.util.unit.DataSize; /** @@ -76,10 +74,6 @@ public class WavefrontMetricsExportAutoConfiguration { @Bean @ConditionalOnMissingBean public WavefrontSender wavefrontSender(WavefrontConfig wavefrontConfig) { - if (!StringUtils.hasText(wavefrontConfig.apiToken())) { - throw new MissingRequiredConfigurationException( - "apiToken must be set whenever publishing directly to the Wavefront API"); - } return createWavefrontSender(wavefrontConfig); } @@ -91,7 +85,7 @@ public class WavefrontMetricsExportAutoConfiguration { } private WavefrontSender createWavefrontSender(WavefrontConfig wavefrontConfig) { - Builder builder = new Builder(getWavefrontReportingUri(wavefrontConfig.uri()), wavefrontConfig.apiToken()); + Builder builder = WavefrontMeterRegistry.getDefaultSenderBuilder(wavefrontConfig); PropertyMapper mapper = PropertyMapper.get().alwaysApplyingWhenNonNull(); Sender sender = this.properties.getSender(); mapper.from(sender.getMaxQueueSize()).to(builder::maxQueueSize); @@ -101,12 +95,4 @@ public class WavefrontMetricsExportAutoConfiguration { return builder.build(); } - private String getWavefrontReportingUri(String uri) { - // proxy reporting is now http reporting on newer wavefront proxies. - if (uri.startsWith("proxy")) { - return "http" + uri.substring(5); - } - return uri; - } - } diff --git a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontMetricsExportAutoConfigurationTests.java b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontMetricsExportAutoConfigurationTests.java index 62281d9e5ff..3f636d0534d 100644 --- a/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontMetricsExportAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-actuator-autoconfigure/src/test/java/org/springframework/boot/actuate/autoconfigure/metrics/export/wavefront/WavefrontMetricsExportAutoConfigurationTests.java @@ -20,6 +20,7 @@ import com.wavefront.sdk.common.WavefrontSender; import io.micrometer.core.instrument.Clock; import io.micrometer.wavefront.WavefrontConfig; import io.micrometer.wavefront.WavefrontMeterRegistry; +import org.junit.jupiter.api.Disabled; import org.junit.jupiter.api.Test; import org.springframework.boot.autoconfigure.AutoConfigurations; @@ -85,6 +86,7 @@ class WavefrontMetricsExportAutoConfigurationTests { } @Test + @Disabled("see https://github.com/micrometer-metrics/micrometer/issues/1964") void allowsWavefrontSenderToBeCustomized() { this.contextRunner.withUserConfiguration(CustomSenderConfiguration.class) .run((context) -> assertThat(context).hasSingleBean(Clock.class)