gpt4 book ai didi

java - 使用 yammer 指标计时器获得一分钟的速率

转载 作者:行者123 更新时间:2023-11-30 08:44:46 25 4
gpt4 key购买 nike

我对 Java 和指标还很陌生。有人可以帮助我理解下面的问题,也许还可以为我解决 dropwizard 和 yammer 指标之间的情况(例如,如果我在谷歌中输入 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"));

现在我有了一个支持 Context 的计时器。

我们所有的代码都导入 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 - 使用 yammer 指标计时器获得一分钟的速率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33629863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com