快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

如何清理SpringBoot应用无用的metrics指标

本篇文章为大家展示了如何清理SpringBoot应用无用的metrics指标,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

在赤坎等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都做网站、成都网站设计、成都外贸网站建设 网站设计制作按需设计网站,公司网站建设,企业网站建设,品牌网站设计,成都全网营销推广,外贸营销网站建设,赤坎网站建设费用合理。

 

前言

上周有个网友问springboot程序的metrics越来越多了,有40W的指标,现在想清除一些没用的metrics,要怎样做呢?!

当时我看到这个问题觉得挺有意思,因为我的线上程序也有动态metrics,只不过指标没有达到那么大的量,所以我研究了一下这个问题可以怎么样处理.

 

用什么添加做的动态metrics就先看支不支持删除

动态创建metrics是直接用的io.micrometer.core.instrument.MeterRegistry对象,例如:registry.gauge(name,tags,valueObject).就可以将一个name的gauge类型的metrics添加到registry里面了,收集metrics时就可以看到这个新增的metrics了.

于是看看这个对象还有什么删除相关的方法:

首先尝试的时delete方法,发现没有类似的方法:  

如何清理SpringBoot应用无用的metrics指标  
metrics-try-delete-method

然后试试remove,可以发现有两个remove方法可以用,分别传入ID对象metrics对象,但如果需要

如何清理SpringBoot应用无用的metrics指标

全部清理呢?有没有类似List的clear方法呢?

如何清理SpringBoot应用无用的metrics指标

metrics-try-remove-method

再试试clear方法,发现是有这个方法的,并且我先测试了一遍,看看clear方法是否能够达到预期(清除metrics).

如何清理SpringBoot应用无用的metrics指标

metrics-try-clear-method
 

实操测试

于是我一顿操作:

  1. 写一个API接口,接口内容是执行meterRegistry.clear();

  2. 启动springboot程序  

  3. 浏览器看看/actuator/prometheus接口返回的内容

  4. 调用清理metrics的接口,也就是第一步写的接口  

  5. 再次浏览器看看/actuator/prometheus接口返回的内容

清理metrics前的接口内容:  

如何清理SpringBoot应用无用的metrics指标

clear-metrics-before

清理了metrics后的接口内容:

如何清理SpringBoot应用无用的metrics指标

clear-metrics-after

可以看到调用接口后metrics清除了信息.

方法有效✔, 可以给网友回复了.

 

网友实操不行

如何清理SpringBoot应用无用的metrics指标

clear-method-for-metrics

网友说没这个方法? 咋回事?!

点进clear源码看了一下,方法说明描述得很清楚,1.2.0版本发布的方法,而网友用的版本低于1.2.0,因此没有这个方法.

/**
     * Clear all meters.
     * @since 1.2.0
     */
    @Incubating(since = "1.2.0")
    public void clear() {
        meterMap.keySet().forEach(this::remove);
    }
   

能不能根据根据某些标签来删除特定的metrics

如何清理SpringBoot应用无用的metrics指标  
clear-metrics-from-tags

当然可以!

如何清理SpringBoot应用无用的metrics指标metrics-registry-find-tags.png

可以看到每一个metrics的tag列表都可以拿得到,那就好办了,通过标签对比筛选出自己想要删除的metrics,然后用remove方法删除就可以了.

当程序有动态新增metrics时就要考虑无用metrics清除的机制,如果metrics数量太多的话就会影响到业务应用.

上述内容就是如何清理SpringBoot应用无用的metrics指标,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


网页名称:如何清理SpringBoot应用无用的metrics指标
URL分享:http://6mz.cn/article/igdeeg.html

其他资讯