Вот решение, которое обновляет метрики DropWizard при изменении метрик Spring. Он также делает это, не поворачивая @EnableScheduling
на:
@EnableMetrics
@Configuration
public class ConsoleMetricsConfig extends MetricsConfigurerAdapter {
@Autowired
private SystemPublicMetrics systemPublicMetrics;
@Override
public void configureReporters(MetricRegistry metricRegistry) {
metricRegistry.register("jvm.memory", new MemoryUsageGaugeSet());
metricRegistry.register("jvm.thread-states", new ThreadStatesGaugeSet());
metricRegistry.register("jvm.garbage-collector", new GarbageCollectorMetricSet());
metricRegistry.register("spring.boot", (MetricSet)() -> {
final Map<String, Metric> gauges = new HashMap<String, Metric>();
for (final org.springframework.boot.actuate.metrics.Metric<?> springMetric :
systemPublicMetrics.metrics()) {
gauges.put(springMetric.getName(), (Gauge<Object>)() -> {
return systemPublicMetrics.metrics().stream()
.filter(m -> StringUtils.equals(m.getName(), springMetric.getName()))
.map(m -> m.getValue())
.findFirst()
.orElse(null);
});
}
return Collections.unmodifiableMap(gauges);
});
registerReporter(ConsoleReporter
.forRegistry(metricRegistry)
.convertRatesTo(TimeUnit.SECONDS)
.convertDurationsTo(TimeUnit.MILLISECONDS)
.build())
.start(intervalSecs, TimeUnit.SECONDS);
}
}
Он использует com.ryantenney.metrics
библиотеки для включения поддержки дополнительных Spring аннотаций и репортеров DropWizard:
<dependency>
<groupId>com.ryantenney.metrics</groupId>
<artifactId>metrics-spring</artifactId>
<version>3.1.3</version>
</dependency>
Но это на самом деле не нужно в данном конкретном случае.
У меня была та же проблема, проверьте мой ответ на [Экспорт метрик метрики весны для загрузки (& Показатели Dropwizard) в Statsd] (http://stackoverflow.com/questions/32215723/exporting-spring-boot-actuator-metrics- dropwizard-metrics-to-statsd) вопрос [здесь] (http://stackoverflow.com/questions/32215723/exporting-spring-boot-actuator-metrics-dropwizard-metrics-to-statsd/35335845#35335845) .Don ' t хотите дублировать ответ. – mxsb