Disable servo by default. (#3041)

This commit is contained in:
Ryan Baxter
2018-06-29 09:30:57 -04:00
committed by GitHub
parent c181163a75
commit a57c719649
9 changed files with 11 additions and 7 deletions

View File

@@ -2582,6 +2582,8 @@ Spectator and Servo are Netflix's metrics collection libraries. Atlas is a Netfl
Servo served Netflix for several years and is still usable, but is gradually being phased out in favor of Spectator, which is only designed to work with Java 8. Spring Cloud Netflix provides support for both, but Java 8 based applications are encouraged to use Spectator.
To enable Servo you must set `spring.metrics.servo.enabled` to `true`.
=== Dimensional vs. Hierarchical Metrics
Spring Boot Actuator metrics are hierarchical and metrics are separated only by name. These names often follow a naming convention that embeds key/value attribute pairs (dimensions) into the name separated by periods. Consider the following metrics for two endpoints, root and star-star:

View File

@@ -19,6 +19,7 @@ import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.actuate.metrics.export.Exporter;
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.cloud.netflix.metrics.servo.ServoMetricsAutoConfiguration;
@@ -69,6 +70,7 @@ public class AtlasConfiguration {
@Bean
@ConditionalOnMissingBean
@ConditionalOnBean(MonitorRegistry.class)
public Exporter exporter(AtlasMetricObserver observer, MonitorRegistry monitorRegistry) {
return new AtlasExporter(observer, new MonitorRegistryMetricPoller(monitorRegistry));
}

View File

@@ -47,7 +47,7 @@ import com.netflix.servo.monitor.Monitors;
@ConditionalOnMissingClass("com.netflix.spectator.api.Registry")
@AutoConfigureBefore(MetricRepositoryAutoConfiguration.class)
@Import(MetricsInterceptorConfiguration.class)
@ConditionalOnProperty(name = "spring.metrics.servo.enabled", matchIfMissing = true)
@ConditionalOnProperty(name = "spring.metrics.servo.enabled", havingValue = "true")
public class ServoMetricsAutoConfiguration {
@Bean
@ConditionalOnMissingBean

View File

@@ -51,7 +51,7 @@ import com.netflix.servo.monitor.MonitorConfig;
@ContextConfiguration(classes = { MetricsRestTemplateRestTemplateConfig.class,
MetricsRestTemplateTestConfig.class })
@TestPropertySource(properties = { "netflix.metrics.restClient.metricName=metricName",
"spring.aop.proxy-target-class=true" })
"spring.aop.proxy-target-class=true", "spring.metrics.servo.enabled:true" })
public class MetricsClientHttpRequestInterceptorTests {
@Autowired
MonitorRegistry registry;

View File

@@ -59,7 +59,7 @@ import com.netflix.servo.monitor.MonitorConfig;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = MetricsTestConfig.class)
@WebAppConfiguration
@TestPropertySource(properties = "netflix.metrics.rest.metricName=metricName")
@TestPropertySource(properties = {"netflix.metrics.rest.metricName=metricName", "spring.metrics.servo.enabled:true"})
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
public class MetricsHandlerInterceptorIntegrationTests {
@Autowired

View File

@@ -42,7 +42,7 @@ import org.springframework.test.util.ReflectionTestUtils;
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = MetricsRestTemplateTests.App.class, webEnvironment = WebEnvironment.RANDOM_PORT, value = {
"spring.application.name=ribbonclienttest", "spring.jmx.enabled=false",
"ribbon.http.client.enabled=true" })
"ribbon.http.client.enabled=true", "spring.metrics.servo.enabled:true" })
@DirtiesContext
public class MetricsRestTemplateTests extends RibbonClientHttpRequestFactoryTests {

View File

@@ -37,7 +37,7 @@ import com.netflix.servo.monitor.DynamicCounter;
/**
* @author Jon Schneider
*/
@SpringBootTest(classes = AtlasExporterConfiguration.class)
@SpringBootTest(classes = AtlasExporterConfiguration.class, properties = {"spring.metrics.servo.enabled:true"})
@RunWith(SpringJUnit4ClassRunner.class)
public class AtlasExporterTests {
@Autowired

View File

@@ -31,7 +31,7 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
/**
* @author Dave Syer
*/
@SpringBootTest
@SpringBootTest(properties = {"spring.metrics.servo.enabled:true"})
@RunWith(SpringJUnit4ClassRunner.class)
public class ServoMetricsAutoConfigurationTests {

View File

@@ -58,7 +58,7 @@ import com.netflix.servo.monitor.MonitorConfig;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpectatorMetricsTestConfig.class)
@WebAppConfiguration
@TestPropertySource(properties = "netflix.metrics.rest.metricName=metricName")
@TestPropertySource(properties = {"netflix.metrics.rest.metricName=metricName", "spring.metrics.servo.enabled:true"})
@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
public class SpectatorMetricsHandlerInterceptorIntegrationTests {
@Autowired