我有3个微服务,其中一些事件正在这三个微服务之间流动,到达最终目的地。我正在使用指标报告中的dropwizard
。以下是相关性:
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>${io.dropwizard.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-graphite</artifactId>
<version>${io.dropwizard.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-servlets</artifactId>
<version>${io.dropwizard.version}</version>
</dependency>
然后我使用Grafana
来绘制这些指标报告的数据。以下是报告计时器的代码示例:
@Autowired
protected MetricRegistry registry;
public com.codahale.metrics.Timer.Context startTimer(SomeMetric sMetric) {
Timer timer = registry.getTimers().get(MetricRegistry.name(sMetric.getClassName(), sMetric.getName()) + "-Time");
return timer.time();
}
它工作正常,但是通过这种方式我可以获取单个微服务所花费的时间,那么有什么办法可以通过如何获取所有三个微服务中事件的总时间来实现吗?是Graphaite或其他东西。