如何在运行的微服务中禁用/启用千分尺指标

时间:2019-04-08 08:32:43

标签: java microservices micrometer spring-micrometer

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

1 个答案:

答案 0 :(得分:0)

禁用/启用方案

您要停止修改指标,但将其保留在指标端点上,因此TSDB系统仍会对其进行抓取。 千分尺没有这种功能,但是您可以围绕指标实施包装程序,并在其中放置一些切换器。

@Component
public class MetersService {

    ...

    private boolean enableMeters;

    ...

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

    ...

}

删除方案

如果要从千分尺中完全删除度量,则在1.1.0-rc.1版本中添加了此功能。签出GithHub issue。因此,使用该版本,您应该可以执行类似的操作

    public void removeMeter(Meter meter) {
            meterRegistry.remove(meter);
    }