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.export.ConditionalOnEnabledMetricsExport;
|
||||
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.WavefrontSenderConfiguration;
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
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.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Import;
|
||||
|
||||
/**
|
||||
* {@link EnableAutoConfiguration Auto-configuration} for exporting metrics to Wavefront.
|
||||
|
|
@ -45,11 +46,12 @@ import org.springframework.context.annotation.Bean;
|
|||
*/
|
||||
@AutoConfiguration(
|
||||
before = { CompositeMeterRegistryAutoConfiguration.class, SimpleMetricsExportAutoConfiguration.class },
|
||||
after = { MetricsAutoConfiguration.class, WavefrontAutoConfiguration.class })
|
||||
after = MetricsAutoConfiguration.class)
|
||||
@ConditionalOnBean({ Clock.class, WavefrontSender.class })
|
||||
@ConditionalOnClass({ WavefrontMeterRegistry.class, WavefrontSender.class })
|
||||
@ConditionalOnEnabledMetricsExport("wavefront")
|
||||
@EnableConfigurationProperties(WavefrontProperties.class)
|
||||
@Import(WavefrontSenderConfiguration.class)
|
||||
public class WavefrontMetricsExportAutoConfiguration {
|
||||
|
||||
@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.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.Tracing;
|
||||
import org.springframework.boot.actuate.autoconfigure.wavefront.WavefrontSenderConfiguration;
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
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.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Import;
|
||||
import org.springframework.core.env.Environment;
|
||||
|
||||
/**
|
||||
|
|
@ -49,10 +50,10 @@ import org.springframework.core.env.Environment;
|
|||
* @author Moritz Halbritter
|
||||
* @since 3.0.0
|
||||
*/
|
||||
@AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class,
|
||||
WavefrontAutoConfiguration.class })
|
||||
@AutoConfiguration(after = { MetricsAutoConfiguration.class, CompositeMeterRegistryAutoConfiguration.class })
|
||||
@EnableConfigurationProperties(WavefrontProperties.class)
|
||||
@ConditionalOnBean(WavefrontSender.class)
|
||||
@Import(WavefrontSenderConfiguration.class)
|
||||
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.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.ConditionalOnMissingBean;
|
||||
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.unit.DataSize;
|
||||
|
||||
/**
|
||||
* {@link EnableAutoConfiguration Auto-configuration} for Wavefront common infrastructure.
|
||||
* Metrics are auto-configured in {@link WavefrontMetricsExportAutoConfiguration}, and
|
||||
* tracing is auto-configured in {@link WavefrontTracingAutoConfiguration}.
|
||||
* Configuration for Wavefront common infrastructure. This configuration is imported from
|
||||
* {@link WavefrontMetricsExportAutoConfiguration} and
|
||||
* {@link WavefrontTracingAutoConfiguration}.
|
||||
*
|
||||
* @author Moritz Halbritter
|
||||
* @since 3.0.0
|
||||
*/
|
||||
@AutoConfiguration
|
||||
@Configuration(proxyBeanMethods = false)
|
||||
@ConditionalOnClass(WavefrontSender.class)
|
||||
@EnableConfigurationProperties(WavefrontProperties.class)
|
||||
public class WavefrontAutoConfiguration {
|
||||
public class WavefrontSenderConfiguration {
|
||||
|
||||
@Bean
|
||||
@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.wavefront.WavefrontTracingAutoConfiguration
|
||||
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.reactive.ReactiveManagementContextAutoConfiguration
|
||||
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.tracing.BraveAutoConfiguration;
|
||||
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.ReactiveHealthEndpointWebExtension;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
|
|
@ -82,8 +81,8 @@ class WebEndpointsAutoConfigurationIntegrationTests {
|
|||
MongoReactiveAutoConfiguration.class, MongoReactiveDataAutoConfiguration.class,
|
||||
RepositoryRestMvcAutoConfiguration.class, HazelcastAutoConfiguration.class,
|
||||
ElasticsearchDataAutoConfiguration.class, RedisAutoConfiguration.class,
|
||||
RedisRepositoriesAutoConfiguration.class, MetricsAutoConfiguration.class, WavefrontAutoConfiguration.class,
|
||||
BraveAutoConfiguration.class, OpenTelemetryAutoConfiguration.class })
|
||||
RedisRepositoriesAutoConfiguration.class, MetricsAutoConfiguration.class, BraveAutoConfiguration.class,
|
||||
OpenTelemetryAutoConfiguration.class })
|
||||
@SpringBootConfiguration
|
||||
static class WebEndpointTestApplication {
|
||||
|
||||
|
|
|
|||
|
|
@ -33,14 +33,14 @@ import static org.assertj.core.api.Assertions.assertThat;
|
|||
import static org.mockito.Mockito.mock;
|
||||
|
||||
/**
|
||||
* Tests for {@link WavefrontAutoConfiguration}.
|
||||
* Tests for {@link WavefrontSenderConfiguration}.
|
||||
*
|
||||
* @author Moritz Halbritter
|
||||
*/
|
||||
class WavefrontAutoConfigurationTests {
|
||||
class WavefrontSenderConfigurationTests {
|
||||
|
||||
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
|
||||
.withConfiguration(AutoConfigurations.of(WavefrontAutoConfiguration.class));
|
||||
.withConfiguration(AutoConfigurations.of(WavefrontSenderConfiguration.class));
|
||||
|
||||
@Test
|
||||
void shouldNotFailIfWavefrontIsMissing() {
|
||||
Loading…
Reference in New Issue