У меня есть 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();
}
Он работает нормально, но таким образом я могу получить время, затрачиваемое на один микросервис. Так есть ли способ узнать общее время проведения мероприятия на всех 3 микросервисах? Возможно ли это, графит иличто-то еще.