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).
我正在尝试注册我在 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).