Fix sample and tidy up MetricWriter/GaugeWriter

The metric export configuration was still using the MetricWriter
interface where it should be using GaugeWriter
This commit is contained in:
Dave Syer 2015-10-31 16:00:48 +00:00
parent 03c56b4cf1
commit db03e8ea50
4 changed files with 13 additions and 12 deletions

View File

@ -30,7 +30,7 @@ import org.springframework.boot.actuate.metrics.export.MetricExporters;
import org.springframework.boot.actuate.metrics.reader.CompositeMetricReader; import org.springframework.boot.actuate.metrics.reader.CompositeMetricReader;
import org.springframework.boot.actuate.metrics.reader.MetricReader; import org.springframework.boot.actuate.metrics.reader.MetricReader;
import org.springframework.boot.actuate.metrics.statsd.StatsdMetricWriter; import org.springframework.boot.actuate.metrics.statsd.StatsdMetricWriter;
import org.springframework.boot.actuate.metrics.writer.MetricWriter; import org.springframework.boot.actuate.metrics.writer.GaugeWriter;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@ -67,7 +67,7 @@ public class MetricExportAutoConfiguration {
@Autowired(required = false) @Autowired(required = false)
@ExportMetricWriter @ExportMetricWriter
private Map<String, MetricWriter> writers = Collections.emptyMap(); private Map<String, GaugeWriter> writers = Collections.emptyMap();
@Autowired(required = false) @Autowired(required = false)
private Map<String, Exporter> exporters = Collections.emptyMap(); private Map<String, Exporter> exporters = Collections.emptyMap();
@ -75,7 +75,7 @@ public class MetricExportAutoConfiguration {
@Bean @Bean
@ConditionalOnMissingBean(name = "metricWritersMetricExporter") @ConditionalOnMissingBean(name = "metricWritersMetricExporter")
public SchedulingConfigurer metricWritersMetricExporter() { public SchedulingConfigurer metricWritersMetricExporter() {
Map<String, MetricWriter> writers = new HashMap<String, MetricWriter>(); Map<String, GaugeWriter> writers = new HashMap<String, GaugeWriter>();
MetricReader reader = this.endpointReader; MetricReader reader = this.endpointReader;
if (reader == null && !CollectionUtils.isEmpty(this.readers)) { if (reader == null && !CollectionUtils.isEmpty(this.readers)) {
reader = new CompositeMetricReader( reader = new CompositeMetricReader(

View File

@ -21,7 +21,7 @@ import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
import org.springframework.boot.actuate.metrics.reader.MetricReader; import org.springframework.boot.actuate.metrics.reader.MetricReader;
import org.springframework.boot.actuate.metrics.writer.MetricWriter; import org.springframework.boot.actuate.metrics.writer.GaugeWriter;
import org.springframework.scheduling.annotation.SchedulingConfigurer; import org.springframework.scheduling.annotation.SchedulingConfigurer;
import org.springframework.scheduling.config.IntervalTask; import org.springframework.scheduling.config.IntervalTask;
import org.springframework.scheduling.config.ScheduledTaskRegistrar; import org.springframework.scheduling.config.ScheduledTaskRegistrar;
@ -36,7 +36,7 @@ public class MetricExporters implements SchedulingConfigurer {
private MetricReader reader; private MetricReader reader;
private Map<String, MetricWriter> writers = new HashMap<String, MetricWriter>(); private Map<String, GaugeWriter> writers = new HashMap<String, GaugeWriter>();
private final MetricExportProperties properties; private final MetricExportProperties properties;
@ -50,7 +50,7 @@ public class MetricExporters implements SchedulingConfigurer {
this.reader = reader; this.reader = reader;
} }
public void setWriters(Map<String, MetricWriter> writers) { public void setWriters(Map<String, GaugeWriter> writers) {
this.writers.putAll(writers); this.writers.putAll(writers);
} }
@ -71,9 +71,9 @@ public class MetricExporters implements SchedulingConfigurer {
taskRegistrar.addFixedDelayTask(task); taskRegistrar.addFixedDelayTask(task);
} }
} }
for (Entry<String, MetricWriter> entry : this.writers.entrySet()) { for (Entry<String, GaugeWriter> entry : this.writers.entrySet()) {
String name = entry.getKey(); String name = entry.getKey();
MetricWriter writer = entry.getValue(); GaugeWriter writer = entry.getValue();
TriggerProperties trigger = this.properties.findTrigger(name); TriggerProperties trigger = this.properties.findTrigger(name);
if (trigger != null) { if (trigger != null) {
MetricCopyExporter exporter = getExporter(writer, trigger); MetricCopyExporter exporter = getExporter(writer, trigger);
@ -86,7 +86,7 @@ public class MetricExporters implements SchedulingConfigurer {
} }
} }
private MetricCopyExporter getExporter(MetricWriter writer, private MetricCopyExporter getExporter(GaugeWriter writer,
TriggerProperties trigger) { TriggerProperties trigger) {
MetricCopyExporter exporter = new MetricCopyExporter(this.reader, writer); MetricCopyExporter exporter = new MetricCopyExporter(this.reader, writer);
exporter.setIncludes(trigger.getIncludes()); exporter.setIncludes(trigger.getIncludes());

View File

@ -24,6 +24,7 @@ import org.junit.Test;
import org.mockito.Mockito; import org.mockito.Mockito;
import org.springframework.boot.actuate.metrics.reader.MetricReader; import org.springframework.boot.actuate.metrics.reader.MetricReader;
import org.springframework.boot.actuate.metrics.writer.GaugeWriter;
import org.springframework.boot.actuate.metrics.writer.MetricWriter; import org.springframework.boot.actuate.metrics.writer.MetricWriter;
import org.springframework.scheduling.config.ScheduledTaskRegistrar; import org.springframework.scheduling.config.ScheduledTaskRegistrar;
@ -41,7 +42,7 @@ public class MetricExportersTests {
private MetricExportProperties export = new MetricExportProperties(); private MetricExportProperties export = new MetricExportProperties();
private Map<String, MetricWriter> writers = new LinkedHashMap<String, MetricWriter>(); private Map<String, GaugeWriter> writers = new LinkedHashMap<String, GaugeWriter>();
private MetricReader reader = Mockito.mock(MetricReader.class); private MetricReader reader = Mockito.mock(MetricReader.class);

View File

@ -21,7 +21,7 @@ import org.springframework.boot.actuate.autoconfigure.ExportMetricWriter;
import org.springframework.boot.actuate.metrics.opentsdb.DefaultOpenTsdbNamingStrategy; import org.springframework.boot.actuate.metrics.opentsdb.DefaultOpenTsdbNamingStrategy;
import org.springframework.boot.actuate.metrics.opentsdb.OpenTsdbMetricWriter; import org.springframework.boot.actuate.metrics.opentsdb.OpenTsdbMetricWriter;
import org.springframework.boot.actuate.metrics.opentsdb.OpenTsdbNamingStrategy; import org.springframework.boot.actuate.metrics.opentsdb.OpenTsdbNamingStrategy;
import org.springframework.boot.actuate.metrics.writer.MetricWriter; import org.springframework.boot.actuate.metrics.writer.GaugeWriter;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
@ -32,7 +32,7 @@ public class SampleOpenTsdbExportApplication {
@Bean @Bean
@ConfigurationProperties("metrics.export") @ConfigurationProperties("metrics.export")
@ExportMetricWriter @ExportMetricWriter
public MetricWriter openTsdbMetricWriter() { public GaugeWriter openTsdbMetricWriter() {
OpenTsdbMetricWriter writer = new OpenTsdbMetricWriter(); OpenTsdbMetricWriter writer = new OpenTsdbMetricWriter();
writer.setNamingStrategy(namingStrategy()); writer.setNamingStrategy(namingStrategy());
return writer; return writer;