我在Spring boot 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每小时都会将指标输出到控制台,那么同时,dropwizard指标在哪里存储和捕获指标数据呢?它是Java堆吗?它对性能有什么影响?还有一种方法可以对其进行微调。
发布于 2017-03-03 23:00:03
这些信息存储在Java Heap中,一旦服务器重新启动,这些信息就会消失。
性能影响应该不会太大,而且通常应该超过拥有这样一个指标的好处
https://stackoverflow.com/questions/42580769
复制相似问题