получение скорости за одну минуту с помощью таймера метрик yammer

Я очень новичок в java и метриках. Может ли кто-нибудь помочь мне понять описанную ниже проблему и, возможно, также прояснить для меня ситуацию между метриками dropwizard и yammer (например, если я наберу yammer.metrics в Google, вся документация указывает на dropwizard)?

Я хотел бы реализовать таймер с использованием метрик yammer, однако я нахожу онлайн-примеры запутанными.

Например, используя метрики yammer, я могу сделать следующее:

import com.yammer.metrics.Metrics;
import com.yammer.metrics.core.Meter;
import com.yammer.metrics.core.Timer;

...

public static Timer responses = Metrics.defaultRegistry().newTimer(myClass.class, "timer-name");

Однако, сделав это, я не уверен, как использовать таймер, потому что все документы, которые я могу найти, дают следующий пример (dropwizard):

final Timer.Context context = responses.time();
    try {
        // intense code;
        return "OK";
    } finally {
        context.stop();
    }

Это не работает, потому что таймер Yammer не поддерживает контекст, а только таймер dropwizard. Чтобы заставить приведенный выше код работать, мне нужно сделать следующее:

import com.codahale.metrics.*;
import java.util.concurrent.TimeUnit;

private final static MetricRegistry metrics = new MetricRegistry();
private final static Timer responses = metrics.timer(name(myClass.class, "timer-name"));

теперь у меня есть таймер, который поддерживает контекст.

Весь наш код импортирует com.yammer.metrics, и я хотел бы продолжать использовать его, если это возможно. Итак, как мне записать события, чтобы я мог получить, например, responses.oneMinuteRate() с помощью yammer.Metrics?


person mark    schedule 10.11.2015    source источник
comment
Что касается названий: они просто изменили название где-то после выхода версии 3.x.   -  person Marged    schedule 10.11.2015


Ответы (1)


com.yammer.metrics — старая библиотека.

com.yammer.metrics:metrics-core:2.2.0 (up to 2012 year)

В 2012 году они сделали крупный шаг к:

com.codahale.metrics:metrics-core:3.0.* (2013-2014 year)

все пакеты были переименованы в com.codahale.metrics

Затем они снова переместили артефакты в:

io.dropwizard.metrics:metrics-core:3.1.*

com.yammer.metrics сейчас не поддерживается и не имеет обратной совместимости с новыми версиями.

person Anatoly Deyneka    schedule 10.11.2015
comment
спасибо, это все проясняет - так что лучше всего обновиться до io.dropwizard. - person mark; 10.11.2015