diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/servo/DefaultServoMetricNaming.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/servo/DefaultServoMetricNaming.java index ed53b845..0df15966 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/servo/DefaultServoMetricNaming.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/servo/DefaultServoMetricNaming.java @@ -48,7 +48,7 @@ public class DefaultServoMetricNaming implements ServoMetricNaming { private String handleMetric(MonitorConfig config, TagList tags) { String type = cleanValue(tags.getTag(DataSourceType.KEY), false); String instanceName = cleanValue(tags.getTag("instance"), false); - String name = cleanupIllegalCharacters(config.getName(), false); + String name = cleanupIllegalCharacters(config.getName(), true); String statistic = cleanValue(tags.getTag("statistic"), false); StringBuilder nameBuilder = new StringBuilder(); @@ -74,7 +74,7 @@ public class DefaultServoMetricNaming implements ServoMetricNaming { String domain = cleanValue(tags.getTag(JMX_DOMAIN_KEY), true); String type = cleanValue(tags.getTag("Jmx.type"), false); String instanceName = cleanValue(tags.getTag("Jmx.instance"), false); - String name = cleanValue(tags.getTag("Jmx.name"), false); + String name = cleanValue(tags.getTag("Jmx.name"), true); String fieldName = cleanupIllegalCharacters(config.getName(), false); StringBuilder nameBuilder = new StringBuilder(); diff --git a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/servo/DefaultServerMetricNamingTests.java b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/servo/DefaultServerMetricNamingTests.java index 16e89387..616e5ee4 100644 --- a/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/servo/DefaultServerMetricNamingTests.java +++ b/spring-cloud-netflix-core/src/test/java/org/springframework/cloud/netflix/servo/DefaultServerMetricNamingTests.java @@ -39,6 +39,13 @@ public class DefaultServerMetricNamingTests { assertThat(name, is(equalTo("servo.testmetric"))); } + @Test + public void nameWithPeriodWorks() { + MonitorConfig config = MonitorConfig.builder("test.Metric") .build(); + String name = naming.getName(new Metric(config, System.currentTimeMillis(), 0)); + assertThat(name, is(equalTo("servo.test.metric"))); + } + @Test public void typeTagWorks() { MonitorConfig config = MonitorConfig.builder("testMetric")