Как я могу отслеживать время события через микро-сервис - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть 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 микросервисах? Возможно ли это, графит иличто-то еще.

...