【技术实现步骤摘要】
一种业务堆栈信息的采集方法、装置、设备及介质
[0001]本专利技术涉及信息收集领域,尤其涉及一种业务堆栈信息的采集方法、装置、设备及介质。
技术介绍
[0002]随着Java开发的大型应用系统越来越大,越来越复杂,很多系统集成在一起,整个系统看起来像个黑盒子。用户的Java应用在机器上运行期间,对机器造成的性能压力的内容往往是无感的,只能凭经验去猜测,导致想对应用进行优化往往会比较困难。尤其是不同的应用不同的环境产生的瓶颈可能不尽相同。
[0003]对于大型应用往往无法准确的创建模拟环境,无法真实的反应应用运行期间的真实情况,而一般在打印Java应用对应的JVM线程堆栈信息时,需要先登录到目标服务器,然后调用JDK提供的jstack工具来打印。这种方法在应用规模和服务器数据不多的情况下没什么问题,但如果是大型的分布式复杂应用,服务器数量庞大,再加上采用当前流行的docker部署模式,需要找到目标服务器并登陆上去是一件麻烦的事情;另外在大型应用中,服务器部署安全管控严格,一般的开发人员不具备登录服务器的权限,要想获取 ...
【技术保护点】
【技术特征摘要】
1.一种业务堆栈信息的采集方法,其特征在于,包括:每当到达预设的堆栈信息采集周期时,检测操作系统中是否运行有至少一个用户业务;若是,则获取所述操作系统当前的系统运行状态以及与每个用户业务分别匹配的至少一个用户业务线程;根据所述系统运行状态,确定在当前的信息采集周期下的信息采集间隔,并按照所述信息采集间隔,对所述操作系统中与各用户业务线程对应的堆栈信息进行采集;将采集到的各所述堆栈信息按照用户业务线程进行分组,得到与每个用户业务线程分别对应的堆栈信息集;将各所述堆栈信息集分别绑定至与用户业务线程对应的用户业务中,得到业务信息集。2.根据权利要求1所述的方法,其特征在于,所述系统运行状态包括:内存使用率;根据所述系统运行状态,确定在当前的信息采集周期下的信息采集间隔,包括:当确定所述内存使用率≤第一设置值时,将所述信息采集频率确定为第一间隔;当确定所述第一设置值<内存使用率≤第二设置值时,将所述信息采集频率确定为第二间隔;当确定所述第二设置值<内存使用率≤第三设置值时,将所述信息采集频率确定为第三间隔;当确定所述第三设置值<内存使用率≤第四设置值时,将所述信息采集频率确定为第四间隔;当确定所述内存使用率>第四设置值时,放弃当前堆栈信息的采集,在等待预设周期时间后返回执行检测操作系统中是否运行有至少一个用户业务的操作。3.根据权利要求2所述的方法,其特征在于:所述各设置值之间的数值关系为:第一设置值<第二设置值<第三设置值<第四设置值;所述各间隔之间的时间长度关系为:第一间隔<第二间隔<第三间隔<第四间隔。4.根据权利要求2所述的方法,其特征在于,所述系统运行状态还包括:新生代回收行为频率以及老生代回收行为频率;当确定所述内存使用率>第四设置值时,放弃当前堆栈信息的采集,在等待预设周期时间后返回执行检测操作系统中是否运行有至少一个用户业务的操作,包括:当确定所述内存使用率>第四设置值、新生代回收行为频率或老生代回收行为频率大于预设阈值时,放弃当前堆栈信息的采集,在等待预设周期时间后返回执行检测操作系统中是否运行有至少一个用户业务的操作。5.根据权利要求1
...
【专利技术属性】
技术研发人员:程捷,
申请(专利权)人:北京博睿宏远数据科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。