2

如何在不重新启动微服务的情况下禁用或启用 Micrometer 的某些指标?我想公开一个端点来更改我的应用程序收集的指标。

4

1 回答 1

1

禁用/启用方案

您想停止修改您的指标,但将其保留在指标端点上,因此您的 TSDB 系统仍会抓取它。Micrometer 中没有这样的功能,但是您可以围绕指标实现包装器,并在其中放置一些切换器。

@Component
public class MetersService {

    ...

    private boolean enableMeters;

    ...

    public void incCounter() {
        if (enableMeters) {
            meterRegistry.counter("my.counter").increment();
        }
    }

    ...

}

删除方案

如果您想完全从 Micrometer 中删除公制,则在1.1.0-rc.1版本中添加了此类功能。查看GithHub 问题。所以使用那个版本你应该能够做这样的事情

    public void removeMeter(Meter meter) {
            meterRegistry.remove(meter);
    }
于 2019-04-10T13:50:33.217 回答