千家信息网

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

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,本篇文章为大家展示了如何清理SpringBoot应用无用的metrics指标,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前言上周有个网友问springboo
千家信息网最后更新 2025年01月25日如何清理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方法,发现没有类似的方法:

metrics-try-delete-method

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


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

metrics-try-remove-method


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

metrics-try-clear-method

实操测试

于是我一顿操作:

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

  2. 启动springboot程序

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

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

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

清理metrics前的接口内容:

clear-metrics-before

清理了metrics后的接口内容:

clear-metrics-after


可以看到调用接口后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

clear-metrics-from-tags

当然可以!

metrics-registry-find-tags.png


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

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

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

方法 接口 内容 网友 指标 动态 对象 程序 应用 技能 标签 浏览器 版本 知识 问题 测试 浏览 不行 有效 清楚 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湛江软件开发公司排名 vertica数据库导出文件 校园网络安全公开课观后感 4u服务器是什么样的电脑 浙江诚信网络技术咨询项目 湖北安卓软件开发定制费用 杭州交友软件开发哪里好 大班幼儿网络安全 网络安全手抄报三年级下册没有字 最常见的数据库种类主要有 万方数据库上传信息有错 删除数据库中数据库文件夹 豆豆网络技术咨询 2021网络安全活动周活动总结 上海互联网软件开发服务 校园网网络技术的应用 网络安全监督查处 360 网络安全学院 拉萨网络安全资讯白盒测试 要发挥网络安全基础性作用 金融网络安全知识大全 c 怎样获取数据库数据类型 东莞销售软件开发常见问题 济南联想服务器哪家是专业做的 骑士精神2玩哪个服务器 中职高考计算机网络技术 数据库一直显示表已存在 腾讯业务数据库技术栈 软件开发平台培训 服务器配置和设备的管理
0