如何清理SpringBoot應(yīng)用無(wú)用的metrics指標(biāo)

本篇文章為大家展示了如何清理SpringBoot應(yīng)用無(wú)用的metrics指標(biāo),內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

在赤坎等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需設(shè)計(jì)網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),成都全網(wǎng)營(yíng)銷推廣,外貿(mào)營(yíng)銷網(wǎng)站建設(shè),赤坎網(wǎng)站建設(shè)費(fèi)用合理。

 

前言

上周有個(gè)網(wǎng)友問(wèn)springboot程序的metrics越來(lái)越多了,有40W的指標(biāo),現(xiàn)在想清除一些沒(méi)用的metrics,要怎樣做呢?!

當(dāng)時(shí)我看到這個(gè)問(wèn)題覺(jué)得挺有意思,因?yàn)槲业木€上程序也有動(dòng)態(tài)metrics,只不過(guò)指標(biāo)沒(méi)有達(dá)到那么大的量,所以我研究了一下這個(gè)問(wèn)題可以怎么樣處理.

 

用什么添加做的動(dòng)態(tài)metrics就先看支不支持刪除

動(dòng)態(tài)創(chuàng)建metrics是直接用的io.micrometer.core.instrument.MeterRegistry對(duì)象,例如:registry.gauge(name,tags,valueObject).就可以將一個(gè)name的gauge類型的metrics添加到registry里面了,收集metrics時(shí)就可以看到這個(gè)新增的metrics了.

于是看看這個(gè)對(duì)象還有什么刪除相關(guān)的方法:

首先嘗試的時(shí)delete方法,發(fā)現(xiàn)沒(méi)有類似的方法:  

如何清理SpringBoot應(yīng)用無(wú)用的metrics指標(biāo)  
metrics-try-delete-method

然后試試remove,可以發(fā)現(xiàn)有兩個(gè)remove方法可以用,分別傳入ID對(duì)象metrics對(duì)象,但如果需要

如何清理SpringBoot應(yīng)用無(wú)用的metrics指標(biāo)

全部清理呢?有沒(méi)有類似List的clear方法呢?

如何清理SpringBoot應(yīng)用無(wú)用的metrics指標(biāo)

metrics-try-remove-method

再試試clear方法,發(fā)現(xiàn)是有這個(gè)方法的,并且我先測(cè)試了一遍,看看clear方法是否能夠達(dá)到預(yù)期(清除metrics).

如何清理SpringBoot應(yīng)用無(wú)用的metrics指標(biāo)

metrics-try-clear-method
 

實(shí)操測(cè)試

于是我一頓操作:

  1. 寫一個(gè)API接口,接口內(nèi)容是執(zhí)行meterRegistry.clear();

  2. 啟動(dòng)springboot程序  

  3. 瀏覽器看看/actuator/prometheus接口返回的內(nèi)容

  4. 調(diào)用清理metrics的接口,也就是第一步寫的接口  

  5. 再次瀏覽器看看/actuator/prometheus接口返回的內(nèi)容

清理metrics前的接口內(nèi)容:  

如何清理SpringBoot應(yīng)用無(wú)用的metrics指標(biāo)

clear-metrics-before

清理了metrics后的接口內(nèi)容:

如何清理SpringBoot應(yīng)用無(wú)用的metrics指標(biāo)

clear-metrics-after

可以看到調(diào)用接口后metrics清除了信息.

方法有效?, 可以給網(wǎng)友回復(fù)了.

 

網(wǎng)友實(shí)操不行

如何清理SpringBoot應(yīng)用無(wú)用的metrics指標(biāo)

clear-method-for-metrics

網(wǎng)友說(shuō)沒(méi)這個(gè)方法? 咋回事?!

點(diǎn)進(jìn)clear源碼看了一下,方法說(shuō)明描述得很清楚,1.2.0版本發(fā)布的方法,而網(wǎng)友用的版本低于1.2.0,因此沒(méi)有這個(gè)方法.

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

能不能根據(jù)根據(jù)某些標(biāo)簽來(lái)刪除特定的metrics

如何清理SpringBoot應(yīng)用無(wú)用的metrics指標(biāo)  
clear-metrics-from-tags

當(dāng)然可以!

如何清理SpringBoot應(yīng)用無(wú)用的metrics指標(biāo)metrics-registry-find-tags.png

可以看到每一個(gè)metrics的tag列表都可以拿得到,那就好辦了,通過(guò)標(biāo)簽對(duì)比篩選出自己想要?jiǎng)h除的metrics,然后用remove方法刪除就可以了.

當(dāng)程序有動(dòng)態(tài)新增metrics時(shí)就要考慮無(wú)用metrics清除的機(jī)制,如果metrics數(shù)量太多的話就會(huì)影響到業(yè)務(wù)應(yīng)用.

上述內(nèi)容就是如何清理SpringBoot應(yīng)用無(wú)用的metrics指標(biāo),你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站名稱:如何清理SpringBoot應(yīng)用無(wú)用的metrics指標(biāo)
文章網(wǎng)址:http://bm7419.com/article46/igdeeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、App設(shè)計(jì)面包屑導(dǎo)航品牌網(wǎng)站制作、小程序開發(fā)軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)