当我尝试更新现有仪表的值时,无法执行此操作,因为该指标已注册,并且我们无法重新注册相同的仪表指标。
动态标签将代表不同的仪表。最简单的方法是让仪表指向保存要更新值的对象,
AtomicDouble
就足够了。
gauge = meterRegistry.get("name").tags("tagkey1","tagValue1").gauge();
if (gauge == null) {
Gauge nameGauge = Gauge.builder("name", list, List::size)
.tags("tagkey1","tagValue1")
.description("message")
.register(meterRegistry);
}else{
meterRegistry.gauge("name", Tags.of("tagkey1","tagValue1"), sizeValue);
}