Wavefront sender configuration is no longer an auto-configuration
It's now a regular configuration class which is imported from the Wavefront metrics and tracing auto-configurations
This commit is contained in:
parent
943e9033c0
commit
b019ff6102
|
|
@ -25,8 +25,8 @@ import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegi
|
||||||
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
|
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
|
||||||
import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport;
|
import org.springframework.boot.actuate.autoconfigure.metrics.export.ConditionalOnEnabledMetricsExport;
|
||||||
import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration;
|
import org.springframework.boot.actuate.autoconfigure.metrics.export.simple.SimpleMetricsExportAutoConfiguration;
|
||||||
import org.springframework.boot.actuate.autoconfigure.wavefront.WavefrontAutoConfiguration;
|
|
||||||
import org.springframework.boot.actuate.autoconfigure.wavefront.WavefrontProperties;
|
import org.springframework.boot.actuate.autoconfigure.wavefront.WavefrontProperties;
|
||||||
|
import org.springframework.boot.actuate.autoconfigure.wavefront.WavefrontSenderConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||||
|
|
@ -34,6 +34,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Import;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Wavefront.
|
* {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Wavefront.
|
||||||
|
|
@ -45,11 +46,12 @@ import org.springframework.context.annotation.Bean;
|
||||||
*/
|
*/
|
||||||
@AutoConfiguration(
|
@AutoConfiguration(
|
||||||
before = { CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class },
|
before = { CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class },
|
||||||
after = { MetricsAutoConfiguration.class, WavefrontAutoConfiguration.class })
|
after = MetricsAutoConfiguration.class)
|
||||||
@ConditionalOnBean({ Clock.class, WavefrontSender.class })
|
@ConditionalOnBean({ Clock.class, WavefrontSender.class })
|
||||||
@ConditionalOnClass({ WavefrontMeterRegistry.class, WavefrontSender.class })
|
@ConditionalOnClass({ WavefrontMeterRegistry.class, WavefrontSender.class })
|
||||||
@ConditionalOnEnabledMetricsExport("wavefront")
|
@ConditionalOnEnabledMetricsExport("wavefront")
|
||||||
@EnableConfigurationProperties(WavefrontProperties.class)
|
@EnableConfigurationProperties(WavefrontProperties.class)
|
||||||
|
@Import(WavefrontSenderConfiguration.class)
|
||||||
public class WavefrontMetricsExportAutoConfiguration {
|
public class WavefrontMetricsExportAutoConfiguration {
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
|
|
|
||||||
|
|
@ -30,9 +30,9 @@ import io.opentelemetry.sdk.trace.export.SpanExporter;
|
||||||
|
|
||||||
import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
|
import org.springframework.boot.actuate.autoconfigure.metrics.CompositeMeterRegistryAutoConfiguration;
|
||||||
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
|
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
|
||||||
import org.springframework.boot.actuate.autoconfigure.wavefront.WavefrontAutoConfiguration;
|
|
||||||
import org.springframework.boot.actuate.autoconfigure.wavefront.WavefrontProperties;
|
import org.springframework.boot.actuate.autoconfigure.wavefront.WavefrontProperties;
|
||||||
import org.springframework.boot.actuate.autoconfigure.wavefront.WavefrontProperties.Tracing;
|
import org.springframework.boot.actuate.autoconfigure.wavefront.WavefrontProperties.Tracing;
|
||||||
|
import org.springframework.boot.actuate.autoconfigure.wavefront.WavefrontSenderConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||||
|
|
@ -41,6 +41,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.context.annotation.Import;
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -49,10 +50,10 @@ import org.springframework.core.env.Environment;
|
||||||
* @author Moritz Halbritter
|
* @author Moritz Halbritter
|
||||||
* @since 3.0.0
|
* @since 3.0.0
|
||||||
*/
|
*/
|
||||||
@AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class,
|
@AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class })
|
||||||
WavefrontAutoConfiguration.class })
|
|
||||||
@EnableConfigurationProperties(WavefrontProperties.class)
|
@EnableConfigurationProperties(WavefrontProperties.class)
|
||||||
@ConditionalOnBean(WavefrontSender.class)
|
@ConditionalOnBean(WavefrontSender.class)
|
||||||
|
@Import(WavefrontSenderConfiguration.class)
|
||||||
public class WavefrontTracingAutoConfiguration {
|
public class WavefrontTracingAutoConfiguration {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -23,27 +23,26 @@ import com.wavefront.sdk.common.clients.WavefrontClient.Builder;
|
||||||
|
|
||||||
import org.springframework.boot.actuate.autoconfigure.metrics.export.wavefront.WavefrontMetricsExportAutoConfiguration;
|
import org.springframework.boot.actuate.autoconfigure.metrics.export.wavefront.WavefrontMetricsExportAutoConfiguration;
|
||||||
import org.springframework.boot.actuate.autoconfigure.tracing.wavefront.WavefrontTracingAutoConfiguration;
|
import org.springframework.boot.actuate.autoconfigure.tracing.wavefront.WavefrontTracingAutoConfiguration;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
|
||||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.boot.context.properties.PropertyMapper;
|
import org.springframework.boot.context.properties.PropertyMapper;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.util.unit.DataSize;
|
import org.springframework.util.unit.DataSize;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* {@link EnableAutoConfiguration Auto-configuration} for Wavefront common infrastructure.
|
* Configuration for Wavefront common infrastructure. This configuration is imported from
|
||||||
* Metrics are auto-configured in {@link WavefrontMetricsExportAutoConfiguration}, and
|
* {@link WavefrontMetricsExportAutoConfiguration} and
|
||||||
* tracing is auto-configured in {@link WavefrontTracingAutoConfiguration}.
|
* {@link WavefrontTracingAutoConfiguration}.
|
||||||
*
|
*
|
||||||
* @author Moritz Halbritter
|
* @author Moritz Halbritter
|
||||||
* @since 3.0.0
|
* @since 3.0.0
|
||||||
*/
|
*/
|
||||||
@AutoConfiguration
|
@Configuration(proxyBeanMethods = false)
|
||||||
@ConditionalOnClass(WavefrontSender.class)
|
@ConditionalOnClass(WavefrontSender.class)
|
||||||
@EnableConfigurationProperties(WavefrontProperties.class)
|
@EnableConfigurationProperties(WavefrontProperties.class)
|
||||||
public class WavefrontAutoConfiguration {
|
public class WavefrontSenderConfiguration {
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnMissingBean
|
@ConditionalOnMissingBean
|
||||||
|
|
@ -100,7 +100,6 @@ org.springframework.boot.actuate.autoconfigure.tracing.MicrometerTracingAutoConf
|
||||||
org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryAutoConfiguration
|
org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryAutoConfiguration
|
||||||
org.springframework.boot.actuate.autoconfigure.tracing.wavefront.WavefrontTracingAutoConfiguration
|
org.springframework.boot.actuate.autoconfigure.tracing.wavefront.WavefrontTracingAutoConfiguration
|
||||||
org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinAutoConfiguration
|
org.springframework.boot.actuate.autoconfigure.tracing.zipkin.ZipkinAutoConfiguration
|
||||||
org.springframework.boot.actuate.autoconfigure.wavefront.WavefrontAutoConfiguration
|
|
||||||
org.springframework.boot.actuate.autoconfigure.web.mappings.MappingsEndpointAutoConfiguration
|
org.springframework.boot.actuate.autoconfigure.web.mappings.MappingsEndpointAutoConfiguration
|
||||||
org.springframework.boot.actuate.autoconfigure.web.reactive.ReactiveManagementContextAutoConfiguration
|
org.springframework.boot.actuate.autoconfigure.web.reactive.ReactiveManagementContextAutoConfiguration
|
||||||
org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration
|
org.springframework.boot.actuate.autoconfigure.web.server.ManagementContextAutoConfiguration
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,6 @@ import org.springframework.boot.SpringBootConfiguration;
|
||||||
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
|
import org.springframework.boot.actuate.autoconfigure.metrics.MetricsAutoConfiguration;
|
||||||
import org.springframework.boot.actuate.autoconfigure.tracing.BraveAutoConfiguration;
|
import org.springframework.boot.actuate.autoconfigure.tracing.BraveAutoConfiguration;
|
||||||
import org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryAutoConfiguration;
|
import org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryAutoConfiguration;
|
||||||
import org.springframework.boot.actuate.autoconfigure.wavefront.WavefrontAutoConfiguration;
|
|
||||||
import org.springframework.boot.actuate.health.HealthEndpointWebExtension;
|
import org.springframework.boot.actuate.health.HealthEndpointWebExtension;
|
||||||
import org.springframework.boot.actuate.health.ReactiveHealthEndpointWebExtension;
|
import org.springframework.boot.actuate.health.ReactiveHealthEndpointWebExtension;
|
||||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||||
|
|
@ -82,8 +81,8 @@ class WebEndpointsAutoConfigurationIntegrationTests {
|
||||||
MongoReactiveAutoConfiguration.class, MongoReactiveDataAutoConfiguration.class,
|
MongoReactiveAutoConfiguration.class, MongoReactiveDataAutoConfiguration.class,
|
||||||
RepositoryRestMvcAutoConfiguration.class, HazelcastAutoConfiguration.class,
|
RepositoryRestMvcAutoConfiguration.class, HazelcastAutoConfiguration.class,
|
||||||
ElasticsearchDataAutoConfiguration.class, RedisAutoConfiguration.class,
|
ElasticsearchDataAutoConfiguration.class, RedisAutoConfiguration.class,
|
||||||
RedisRepositoriesAutoConfiguration.class, MetricsAutoConfiguration.class, WavefrontAutoConfiguration.class,
|
RedisRepositoriesAutoConfiguration.class, MetricsAutoConfiguration.class, BraveAutoConfiguration.class,
|
||||||
BraveAutoConfiguration.class, OpenTelemetryAutoConfiguration.class })
|
OpenTelemetryAutoConfiguration.class })
|
||||||
@SpringBootConfiguration
|
@SpringBootConfiguration
|
||||||
static class WebEndpointTestApplication {
|
static class WebEndpointTestApplication {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,14 +33,14 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tests for {@link WavefrontAutoConfiguration}.
|
* Tests for {@link WavefrontSenderConfiguration}.
|
||||||
*
|
*
|
||||||
* @author Moritz Halbritter
|
* @author Moritz Halbritter
|
||||||
*/
|
*/
|
||||||
class WavefrontAutoConfigurationTests {
|
class WavefrontSenderConfigurationTests {
|
||||||
|
|
||||||
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
|
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
|
||||||
.withConfiguration(AutoConfigurations.of(WavefrontAutoConfiguration.class));
|
.withConfiguration(AutoConfigurations.of(WavefrontSenderConfiguration.class));
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void shouldNotFailIfWavefrontIsMissing() {
|
void shouldNotFailIfWavefrontIsMissing() {
|
||||||
Loading…
Reference in New Issue