预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共18页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)国家知识产权局(12)发明专利申请(10)申请公布号CN115981962A(43)申请公布日2023.04.18(21)申请号202211732580.4(22)申请日2022.12.30(71)申请人北京基调网络股份有限公司地址100027北京市朝阳区霞光里5号1号楼301(72)发明人李伟元(74)专利代理机构北京国贝知识产权代理有限公司11698专利代理师牟昌兵(51)Int.Cl.G06F11/30(2006.01)G06F9/455(2018.01)权利要求书2页说明书11页附图4页(54)发明名称线程池监控方法、装置、电子设备及存储介质(57)摘要本申请实施例提供一种线程池监控方法、装置、电子设备及存储介质;该方法包括:对于预置的多个线程池中的每一个,确定该线程池的执行类,并确定执行类的执行类字节码文件;在执行类字节码文件中构建数据采集逻辑,并在执行类字节码文件中设置拦截器,得到增强后的执行类字节码文件,将增强后的执行类字节码文件通过预置的探针加载到预置的程序虚拟机;响应于程序虚拟机为线程池创建实例对象,将增强后的执行类字节码文件注入至实例对象;响应于通过拦截器拦截到程序虚拟机运行实例对象,利用数据采集逻辑采集实例对象对应的线程池运行时的数据,以对线程池的运行状态进行监控。CN115981962ACN115981962A权利要求书1/2页1.一种线程池监控方法,其特征在于,包括:对于预置的多个线程池中的每一个,确定该线程池的执行类,并确定所述执行类的执行类字节码文件;在所述执行类字节码文件中构建数据采集逻辑,并在所述执行类字节码文件中设置拦截器,得到增强后的执行类字节码文件,将所述增强后的执行类字节码文件通过预置的探针加载到预置的程序虚拟机;响应于所述程序虚拟机为所述线程池创建实例对象,将所述增强后的执行类字节码文件注入至所述实例对象;响应于通过所述拦截器拦截到所述程序虚拟机运行所述实例对象,利用所述数据采集逻辑采集所述实例对象对应的所述线程池运行时的数据,以对所述线程池的运行状态进行监控。2.根据权利要求1所述的线程池监控方法,其特征在于,所述在所述执行类字节码文件中构建数据采集逻辑,包括:构建采集所述线程池的注册信息的第一采集字段;构建采集所述线程池的运行信息的第二采集字段;将所述第一采集字段和所述第二采集字段嵌入至所述执行类字节码文件内。3.根据权利要求2所述的线程池监控方法,其特征在于,所述将所述第一采集字段和所述第二采集字段嵌入至所述执行类字节码文件内,包括:在所述执行类中定义所述第一采集字段和所述第二采集字段;将所述第一采集字段和所述第二采集字段作为所述执行类的对象,并在所述执行类字节码文件中进行定义;利用所述构造器对定义后的所述第一采集字段和所述第二采集字段进行初始化。4.根据权利要求1所述的线程池监控方法,其特征在于,所述程序虚拟机为所述线程池创建实例对象,将所述增强后的执行类字节码文件注入至所述实例对象,包括:通过预设的线程池管理程序,将所述多个线程池中的每一个进行实例化,得到该线程池的实例对象;将全部所述多个线程池各自的实例对象组成线程池实例集合;遍历所述线程池实例集合中的各个实例对象,将所述执行类字节码文件注入至运行所述各个实例对象的各个线程池。5.根据权利要求2所述的线程池监控方法,其特征在于,所述利用所述数据采集逻辑采集所述实例对象对应的所述线程池运行时的数据,包括:利用所述第一采集字段,采集所述线程池的所述注册信息;利用所述第二采集字段,采集所述线程池的所述运行信息;根据采集到的所述注册信息和所述运行信息,判断所述线程池的运行状态是否正常。6.根据权利要求5所述的线程池监控方法,其特征在于,所述采集所述线程池的所述注册信息,包括:确定所述线程池的注册标识;采集所述线程池中常驻的线程的核心线程数量;采集所述线程池容纳线程的最大线程数量;2CN115981962A权利要求书2/2页确定所述线程池中线程在阻塞时的阻塞队列类型;对于发给所述线程池的任务,采集所述线程池运行时容纳所述任务的队列容量;为所述线程池创建堆栈,并将所述注册标识、所述核心线程数量、所述最大线程数量、所述阻塞队列类型和所述队列容量插入至所述堆栈。7.根据权利要求5所述的线程池监控方法,其特征在于,所述采集所述线程池的所述运行信息,按照预定的时间间隔,执行操作:采集所述线程池当前活跃的线程的数量;采集所述线程池当前全部的线程的数量;采集所述线程池容纳线程的最大线程数量;在发给所述线程池的任务中,采集所述线程池拒绝的任务的数量;将所述当前活跃的线程的数量、所述当前全部的线程的数量、所述最大线程数量和拒绝的任务的数量构成时序数据。8.一种线程池监控装置,包括:执行类字节码文件确定模块、数据采集逻辑设置模块、实例对象处理模