2017-03-03 67 views
0

我使用dropwizard指标在春季启动REST服务,Dropwizard度量性能开销

<!--Dropwizard Metrics for Spring--> 
    <dependency> 
     <groupId>com.ryantenney.metrics</groupId> 
     <artifactId>metrics-spring</artifactId> 
     <version>3.1.3</version> 
     <exclusions> 
      <exclusion> 
       <groupId>com.codahale.metrics</groupId> 
       <artifactId>metrics-core</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

// MetricsConfig.java

import com.codahale.metrics.ConsoleReporter; 
import com.codahale.metrics.MetricRegistry; 
import com.ryantenney.metrics.spring.config.annotation.EnableMetrics; 
import com.ryantenney.metrics.spring.config.annotation.MetricsConfigurerAdapter; 
import org.springframework.context.annotation.Configuration; 

import java.util.concurrent.TimeUnit; 

    @Configuration 
    @EnableMetrics(proxyTargetClass = true) 
    public class MetricsConfig extends MetricsConfigurerAdapter { 

     @Override 

     public void configureReporters(MetricRegistry metricRegistry) { 
      // registerReporter allows the MetricsConfigurerAdapter to 
      // shut down the reporter when the Spring context is closed 
      registerReporter(ConsoleReporter 
        .forRegistry(metricRegistry) 
        .build()) 
        .start(60, TimeUnit.MINUTES); 
     } 

} 

从上面的配置中,每隔一小时dropwizard会吐out控制台的指标,同时,dropwizard指标在哪里存储和捕获指标数据?它是Java堆,以及那里的性能影响和微调的方式。

回答

0

信息存储在Java堆中,一旦服务器重新启动就会消失。

性能影响不应该太大,通常应该超过获得这样的指标的好处