本篇文章為大家展示了如何清理SpringBoot應(yīng)用無用的metrics指標,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
在赤坎等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計、成都外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需設(shè)計網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計,成都全網(wǎng)營銷推廣,外貿(mào)營銷網(wǎng)站建設(shè),赤坎網(wǎng)站建設(shè)費用合理。
上周有個網(wǎng)友問springboot程序的metrics越來越多了,有40W的指標,現(xiàn)在想清除一些沒用的metrics,要怎樣做呢?!
當時我看到這個問題覺得挺有意思,因為我的線上程序也有動態(tài)metrics,只不過指標沒有達到那么大的量,所以我研究了一下這個問題可以怎么樣處理.
動態(tài)創(chuàng)建metrics是直接用的io.micrometer.core.instrument.MeterRegistry
對象,例如:registry.gauge(name,tags,valueObject)
.就可以將一個name的gauge類型的metrics添加到registry里面了,收集metrics時就可以看到這個新增的metrics了.
于是看看這個對象還有什么刪除相關(guān)的方法:
首先嘗試的時delete
方法,發(fā)現(xiàn)沒有類似的方法:
然后試試remove
,可以發(fā)現(xiàn)有兩個remove方法可以用,分別傳入ID對象
和metrics對象
,但如果需要
全部清理呢?有沒有類似List的clear方法呢?
再試試clear
方法,發(fā)現(xiàn)是有這個方法的,并且我先測試了一遍,看看clear
方法是否能夠達到預(yù)期(清除metrics).
于是我一頓操作:
寫一個API接口,接口內(nèi)容是執(zhí)行meterRegistry.clear();
啟動springboot程序
瀏覽器看看/actuator/prometheus
接口返回的內(nèi)容
調(diào)用清理metrics的接口,也就是第一步寫的接口
再次瀏覽器看看/actuator/prometheus
接口返回的內(nèi)容
清理metrics前的接口內(nèi)容:
清理了metrics后的接口內(nèi)容:
可以看到調(diào)用接口后metrics清除了信息.
方法有效?, 可以給網(wǎng)友回復(fù)了.
網(wǎng)友說沒這個方法? 咋回事?!
點進clear源碼看了一下,方法說明描述得很清楚,1.2.0版本發(fā)布的方法,而網(wǎng)友用的版本低于1.2.0,因此沒有這個方法.
/**
* Clear all meters.
* @since 1.2.0
*/
@Incubating(since = "1.2.0")
public void clear() {
meterMap.keySet().forEach(this::remove);
}
當然可以!
metrics-registry-find-tags.png
可以看到每一個metrics的tag列表都可以拿得到,那就好辦了,通過標簽對比篩選出自己想要刪除的metrics,然后用remove
方法刪除就可以了.
當程序有動態(tài)新增metrics時就要考慮無用metrics清除的機制,如果metrics數(shù)量太多的話就會影響到業(yè)務(wù)應(yīng)用.
上述內(nèi)容就是如何清理SpringBoot應(yīng)用無用的metrics指標,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站名稱:如何清理SpringBoot應(yīng)用無用的metrics指標
文章網(wǎng)址:http://aaarwkj.com/article46/igdeeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、App設(shè)計、面包屑導(dǎo)航、品牌網(wǎng)站制作、小程序開發(fā)、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)