2017-05-30 24 views
0

我想註冊我在我的PVT雲環境中的spring啓動應用程序的數量。邏輯在startUp期間使用Counter度量標準至increment,在關機期間使用decrement。所有不同的部署將發佈到相同metricPreFix(--assumption)。
以下是我得到的石墨圖:Counter vs TimeDropwizard計數器在Spring Boot App中不保留價值

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

爲什麼我看到的價值歸結爲0的應用程序正在運行,即使?我用兩個不同的實現嘗試了相同的結果。有人能指出我理解的差距嗎? 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(); 
} 
} 

回答

1

DropwizardMetricServices的配置錯誤。我正在使用

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

相反,我們應該只需要@Autowire DropwizardMetricServices。 PFB

當Dropwizard指標都在使用,默認CounterService和 GaugeService與一個DropwizardMetricServices,是繞MetricRegistry(一 包裝更換,因此您可以@Autowired的那些 服務之一,並用它像平常一樣)。