我有一个 Spring Boot 应用程序,我现在正在迁移到 Micrometer。
我想要实现的是,随着时间的推移计算特定对象的调用。
假设我有一个创建某些品牌汽车的功能。然后我想测量一下我在过去一分钟创造了多少福特、斯柯达、大众等。特别是,如果两者之间没有创建斯柯达 now()-1
,now()
那么指标应该返回 0。
文档声明我不应该使用计数器,因为在运行应用程序时创建的汽车数量可以无限增长。而且 Timer 也不是很合适,因为我只会在 Constructor 调用之前和之后启动计时器。
我尝试了一个仪表,但这也只能给我绝对数字:
Arrays.stream(brand).forEach(brand -> metricNames.stream().forEach(name -> {
String id = METRIC_PREFIX + METRIC_SEPARATOR + brand + name;
AtomicInteger summary = Metrics.gauge(id, new AtomicInteger(0));
summary.getAndIncrement();
}));
在 dropwizard 中有Meters,但是 Micrometer 中的等价物是什么?