Java 使用yammer metrics计时器获取一分钟的速率

Java 使用yammer metrics计时器获取一分钟的速率,java,dropwizard,metrics,yammer,Java,Dropwizard,Metrics,Yammer,我对java和度量非常陌生。 有人能帮我理解下面的问题吗?也许还能帮我弄清楚dropwizard和yammer metrics之间的情况 (例如,如果我在google中键入yammer.metrics,所有文档都指向dropwizard) 我想使用yammer指标实现一个计时器,但是,我发现在线示例令人困惑 例如,使用yammer指标,我可以执行以下操作: import com.yammer.metrics.Metrics; import com.yammer.metrics.core.Mete

我对java和度量非常陌生。 有人能帮我理解下面的问题吗?也许还能帮我弄清楚dropwizard和yammer metrics之间的情况 (例如,如果我在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)示例:

这不起作用,因为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

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现在不受支持,而且就名称而言,它与新版本不向后兼容

:他们只是在3.x版发布后的某个时候更改了名称Hanks,这就清除了所有问题-因此最好更新到io.dropwizard。
io.dropwizard.metrics:metrics-core:3.1.*