Spring 引导应用程序中的 Dropwizard 计数器未保留值

Dropwizard Counter Not Retaining value in Spring Boot App

我正在尝试注册我在 pvt 云环境中的 spring 个启动应用程序。逻辑是在启动期间使用 Counter 指标到 increment,在关闭期间使用 decrement。所有不同的部署都将发布到相同的 metricPreFix(--assumption)。
以下是我在 Graphite 中得到的图表:

#application.properties
spring.metrics.export.delay-millis=100

为什么我看到的值下降到 0,即使应用是 运行?我尝试了 2 种不同的实现,结果相同。有人可以指出我理解上的差距吗? PFB代码

@Component
public class AppStartupBean implements CommandLineRunner {

private static final String appMetricName = "MyApp.currentCount.GraphOne";
private static final String metricName = "MyApp.currentCount.GraphTwo";

@Autowired
DropwizardMetricServices dwMetricService;

@Autowired
private MetricRegistry registry;

@Override
public void run(String... arg0) throws Exception {
    dwMetricService.increment(appMetricName);

    Counter counter = registry.counter(metricName);
    counter.inc();
}
}

DropwizardMetricServices 的配置错误。我正在使用

@Bean
public DropwizardMetricServices dwMetricService(MetricRegistry registry) {
     return new DropwizardMetricServices(registry);
}

相反,我们应该根据需要 @Autowire DropwizardMetricServices。全氟溴化物

When Dropwizard metrics are in use, the default CounterService and GaugeService are replaced with a DropwizardMetricServices, which is a wrapper around the MetricRegistry (so you can @Autowired one of those services and use it as normal).