使用 yammer 指标计时器获得一分钟的速率
getting a one minute rate using yammer metrics timer
我对 java 和指标还很陌生。
有人可以帮助我理解下面的问题,也许还可以为我解决 dropwizard 和 yammer 指标之间的情况
(例如,如果我在 google 中键入 yammer.metrics
,所有文档都指向 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,如果可能的话我想继续使用它。那么我如何记录事件,例如,我可以使用 yammer.Metrics
?
获得 responses.oneMinuteRate()
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 现在不支持,并且不向后兼容新版本
我对 java 和指标还很陌生。
有人可以帮助我理解下面的问题,也许还可以为我解决 dropwizard 和 yammer 指标之间的情况
(例如,如果我在 google 中键入 yammer.metrics
,所有文档都指向 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,如果可能的话我想继续使用它。那么我如何记录事件,例如,我可以使用 yammer.Metrics
?
responses.oneMinuteRate()
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 现在不支持,并且不向后兼容新版本