[發明專利]一種線程池的運行狀態獲取方法、裝置和電子設備有效
| 申請號: | 202110493218.5 | 申請日: | 2021-05-07 |
| 公開(公告)號: | CN113377446B | 公開(公告)日: | 2023-07-28 |
| 發明(設計)人: | 馮宏宇;黎華兵;萬冬冬;王韶峰 | 申請(專利權)人: | 北京水滴科技集團有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F11/30;G06F8/20 |
| 代理公司: | 北京匯思誠業知識產權代理有限公司 11444 | 代理人: | 蘇勝 |
| 地址: | 100102 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 線程 運行 狀態 獲取 方法 裝置 電子設備 | ||
1.一種線程池的運行狀態獲取方法,其特征在于,包括:
根據原生線程池,構建支持鏈路追蹤的增強線程池;
將所述增強線程池注入Spring容器中,并獲取所述增強線程池在所述Spring容器中的bean名稱;
響應于線程池監控服務的啟動,在配置文件中添加待監控線程池的bean名稱;
根據所述配置文件中的bean名稱,確定待監控的增強線程池;
對所述待監控的增強線程池進行反射,確定待監控原生線程池,并獲取所述待監控原生線程池的運行狀態參數;
如果根據所述運行狀態參數,確定所述待監控原生線程池異常,則向監控設備發送告警信息。
2.根據權利要求1所述的方法,其特征在于,根據原生線程池,構建支持鏈路追蹤的增強線程池,包括:
使用zipkin中間件對所述原生線程池進行代理增強,得到所述支持鏈路追蹤的增強線程池。
3.根據權利要求1所述的方法,其特征在于,所述線程池監控服務的啟動之后,所述方法還包括:
啟動定時,在所述定時時間范圍內執行獲取所述運行狀態參數的步驟。
4.根據權利要求1至3中任一項所述的方法,其特征在于,所述線程池監控服務的程序代碼包含于采用maven打包而成的jar包中,通過觸發所述jar包啟動所述線程池監控服務。
5.根據權利要求1所述的方法,其特征在于,對所述待監控的增強線程池進行反射,確定待監控原生線程池包括:
對所述待監控的增強線程池進行jdk反射,以確定待監控原生線程池。
6.一種線程池的運行狀態獲取裝置,其特征在于,包括:
構建模塊,用于根據原生線程池,構建支持鏈路追蹤的增強線程池;
注入模塊,用于將所述增強線程池注入Spring容器中,并獲取所述增強線程池在所述Spring容器中的bean名稱;
監控模塊,用于響應于線程池監控服務的啟動,在配置文件中添加待監控線程池的bean名稱;根據所述配置文件中的bean名稱,確定待監控的增強線程池;對所述待監控的增強線程池進行反射,確定待監控原生線程池,并獲取所述待監控原生線程池的運行狀態參數;如果根據所述運行狀態參數,確定所述待監控原生線程池異常,則向監控設備發送告警信息。
7.根據權利要求6所述的裝置,其特征在于,所述監控模塊,包括:
配置文件子模塊,用于當線程池監控服務啟動時,在配置文件中添加待監控線程池的bean名稱;
確定池子模塊,用于根據所述配置文件中的bean名稱,確定待監控的增強線程池;
反射子模塊,用于對所述待監控的增強線程池進行反射,確定待監控原生線程池,并獲取所述待監控原生線程池的運行狀態參數;
告警子模塊,用于在根據所述運行狀態參數,確定所述待監控原生線程池異常的狀態時,則向監控設備發送告警信息。
8.根據權利要求7所述的裝置,其特征在于,所述監控模塊,還包括:
定時子模塊,用于啟動定時,以使線程池監控服務在所述定時時間范圍內執行獲取所述運行狀態參數的步驟。
9.一種電子設備,其特征在于,包括:
至少一個處理器;以及
與所述處理器通信連接的至少一個存儲器,其中:
所述存儲器存儲有可被所述處理器執行的程序指令,所述處理器調用所述程序指令能夠執行如權利要求1至5任一所述的方法。
10.一種非暫態計算機可讀存儲介質,其特征在于,所述非暫態計算機可讀存儲介質存儲計算機指令,所述計算機指令使所述計算機執行如權利要求1至5任一所述的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京水滴科技集團有限公司,未經北京水滴科技集團有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110493218.5/1.html,轉載請聲明來源鉆瓜專利網。





