请考虑以下代码:public static void main(String[] args) { Timer timer = Metrics.timer("item.processing"); for (int i = 0; i < 100; i++) { timer.record(i, TimeUnit.SECONDS); } System.out.println(timer.count()); System.out.println(timer.mean(TimeUnit.SECONDS));}两个打印的输出均为零,但当然应为正数。我正在使用,但我认为它不应该有所作为。globalRegistry
1 回答
蝴蝶不菲
TA贡献1810条经验 获得超4个赞
您看到的结果的原因是您尚未注册具体的注册表实现。Micrometer 的默认设置没有定义支持注册表实现。因此,您的计时器值只是被丢弃在地板上,而不是保留。
将此行添加为 main() 的第一行,您将开始获得预期的行为:
Metrics.addRegistry(new SimpleMeterRegistry());
这样:
public static void main(String ...args) {
Metrics.addRegistry(new SimpleMeterRegistry());
Timer timer = Metrics.timer("item.processing");
for (int i = 0; i < 100; i++) {
timer.record(i, TimeUnit.SECONDS);
}
System.out.println(timer.count());
System.out.println(timer.mean(TimeUnit.SECONDS));
}
它给出了结果:
100
49.5
添加回答
举报
0/150
提交
取消