一种基于SpringAop的系统性能监控方法及装置、电子设备制造方法及图纸

技术编号:22363870 阅读:16 留言:0更新日期:2019-10-23 04:37
本发明专利技术涉及系统数据监控技术领域,揭示了一种基于SpringAop的系统性能监控方法及装置、电子设备。所述方法包括:定义基于Spring Aop的性能监控拦截器;将性能监控拦截器与被监控系统中的所有待拦截方法进行关联;当检测到对目标待拦截方法的调用操作时,利用性能监控拦截器对目标待拦截方法进行拦截,以更新对目标待拦截方法的监控统计结果;其中,目标待拦截方法为被监控系统中的任一待拦截方法;根据被监控系统中所有待拦截方法的监控统计结果,生成并输出被监控系统的方法调用次数排行榜单、方法出错次数排行榜单以及单个方法平均执行耗时排行榜单。实施本发明专利技术实施例,能够提高系统性能监控的效率。

A system performance monitoring method based on springaop and its devices and electronic devices

【技术实现步骤摘要】
一种基于SpringAop的系统性能监控方法及装置、电子设备
本专利技术涉及系统数据监控
,特别涉及一种基于SpringAop的系统性能监控方法及装置、电子设备。
技术介绍
随着计算机技术的广泛应用,企业对IT应用系统的依赖程度也越来越高。为了确保企业应用系统的稳定、可靠地运行,需要实时追踪系统的运行情况、观察系统的运行效率以及定位系统的性能瓶颈,以及时地解决企业应用系统的性能问题。现有技术中,一般借由性能测试工具对系统性能进行监控,获得系统性能监控数据,并依赖于专业的维护人员根据系统性能监控数据人工分析与定位系统的性能问题根源。实践中发现,由于人工分析系统性能监控数据的步骤繁杂,且容易出现遗漏,这种系统性能监控方式效率不高。
技术实现思路
为了解决相关技术中存在的系统性能监控效率低的问题,本专利技术提供了一种基于SpringAop的系统性能监控方法及装置、电子设备。本专利技术实施例第一方面公开了一种基于SpringAop的系统性能监控方法,所述方法包括:定义基于SpringAop的性能监控拦截器;其中,所述性能监控拦截器的通知类型为环绕通知;将所述性能监控拦截器与被监控系统中的所有待拦截方法进行关联;当检测到对目标待拦截方法的调用操作时,利用所述性能监控拦截器对所述目标待拦截方法进行拦截,以更新对所述目标待拦截方法的监控统计结果;其中,所述目标待拦截方法为所述被监控系统中的任一待拦截方法,监控统计结果包括方法调用次数、方法出错次数以及方法平均执行耗时;根据所述被监控系统中所有待拦截方法的监控统计结果,生成并输出所述被监控系统的方法调用次数排行榜单、所述被监控系统的方法出错次数排行榜单以及所述被监控系统的单个方法平均执行耗时排行榜单。作为一种可选的实施方式,在本专利技术实施例第一方面中,所述当检测到对目标待拦截方法的调用操作时,利用所述性能监控拦截器对所述目标待拦截方法进行拦截,包括:当检测到对目标待拦截方法的调用操作时,在执行所述目标待拦截方法之前,利用所述性能监控拦截器将所述目标待拦截方法的历史调用次数增加一次,获得所述目标待拦截方法的累计调用次数,并记录下开始时间戳;执行所述目标待拦截方法;若检测到所述目标待拦截方法抛出异常,利用所述性能监控拦截器将所述目标待拦截方法的历史出错次数增加一次,获得所述目标待拦截方法的累计出错次数;若检测到所述目标待拦截方法执行完成,利用所述性能监控拦截器记录下结束时间戳,并求得所述开始时间戳和所述结束时间戳之间的时间差值,以作为所述目标待拦截方法的单次执行耗时;对所述目标待拦截方法的单次执行耗时和所述目标待拦截方法的历史平均执行耗时进行平均值运算,获得所述目标待拦截方法的累计平均执行耗时。作为一种可选的实施方式,在本专利技术实施例第一方面中,所述方法还包括:获取所述目标待拦截方法在距当前时刻最近的预设时间段内的调用次数,并计算得出所述目标待拦截方法在所述预设时间段内的调用频率;判断所述目标待拦截方法在所述预设时间段内的调用频率是否高于或等于预设频率阈值;若是,触发用于指示所述目标待拦截方法的调用频率过高的提示信息;或者,判断所述目标待拦截方法的单次执行耗时是否高于或等于预设的单次执行耗时阈值;若是,触发用于指示所述目标待拦截方法单次执行超时的第一警告信息;或者,判断所述目标待拦截方法的累计平均执行耗时是否高于或等于预设的单个方法平均执行耗时阈值;若是,触发用于指示所述目标待拦截方法的平均执行时间超时的第二警告信息。作为一种可选的实施方式,在本专利技术实施例第一方面中,所述根据所述被监控系统中所有待拦截方法的监控统计结果,生成并输出所述被监控系统的方法调用次数排行榜单、所述被监控系统的方法出错次数排行榜单以及所述被监控系统的单个方法平均执行耗时排行榜单,包括:根据所述被监控系统中每一个待拦截方法的累计调用次数,对所述被监控系统中的所有待拦截方法从大到小进行排序,获得第一排序结果;根据所述第一排序结果,生成所述被监控系统的方法调用次数排行榜单;以及,根据所述被监控系统中每一个待拦截方法的累计出错次数,对所述被监控系统中的所有待拦截方法从大到小进行排序,获得第二排序结果;根据所述第二排序结果,生成所述被监控系统的方法出错次数排行榜单;以及,根据所述被监控系统中每一个待拦截方法的累计平均执行耗时,对所述被监控系统中的所有待拦截方法从大到小进行排序,获得第三排序结果;根据所述第三排序结果,生成所述被监控系统的单个方法平均执行耗时排行榜单;输出所述方法调用次数排行榜单、所述方法出错次数排行榜单以及所述单个方法平均执行耗时排行榜单。作为一种可选的实施方式,在本专利技术实施例第一方面中,所述方法还包括:根据所述被监控系统中每一个待拦截方法的累计平均执行耗时,计算得出所述被监控系统的方法整体平均执行耗时;判断所述被监控系统的方法整体平均执行耗时是否高于或等于预设的方法整体平均执行耗时阈值;若是,触发用于指示所述被监控系统的方法整体平均执行时间超时的第三警告信息;或者,根据所述被监控系统中所有待拦截方法的累计出错次数和所述被监控系统中所有待拦截方法的累计调用次数,计算得出所述被监控系统的方法出错比例;判断所述方法出错比例是否高于或等于预设出错比例阈值;若是,触发用于指示所述被监控系统的方法出错比例过高的第四警告信息。作为一种可选的实施方式,在本专利技术实施例第一方面中,所述输出所述方法调用次数排行榜单、所述方法出错次数排行榜单以及所述单个方法平均执行耗时排行榜单,包括:将所述方法调用次数排行榜单、所述方法出错次数排行榜单以及所述单个方法平均执行耗时排行榜单输出至交互界面以图形化形式进行展示;其中,所述图形化形式为列表、条形图、柱状图或饼图。作为一种可选的实施方式,在本专利技术实施例第一方面中,所述将所述性能监控拦截器与被监控系统中的所有待拦截方法进行关联,包括:在所述性能监控拦截器的配置文件中,将所述性能监控拦截器的切入点设置为包括被监控系统中所有待拦截方法的方法集合,以将所述性能监控拦截器与所述被监控系统中的所有待拦截方法进行关联。本专利技术实施例第二方面公开了一种基于SpringAop的系统性能监控装置,所述装置包括:定义单元,用于定义基于SpringAop的性能监控拦截器;其中,所述性能监控拦截器的通知类型为环绕通知;关联单元,用于将所述性能监控拦截器与被监控系统中的所有待拦截方法进行关联;拦截单元,用于在检测到对目标待拦截方法的调用操作时,利用所述性能监控拦截器对所述目标待拦截方法进行拦截,以更新对所述目标待拦截方法的监控统计结果;其中,所述目标待拦截方法为所述被监控系统中的任一待拦截方法,监控统计结果包括方法调用次数、方法出错次数以及方法平均执行耗时;生成单元,用于根据所述被监控系统中所有待拦截方法的监控统计结果,生成所述被监控系统的方法调用次数排行榜单、所述被监控系统的方法出错次数排行榜单以及所述被监控系统的单个方法平均执行耗时排行榜单;输出单元,用于输出所述方法调用次数排行榜单、所述方法出错次数排行榜单以及所述单个方法平均执行耗时排行榜单。本专利技术实施例第三方面公开了一种电子设备,所述电子设备包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现本专利技术本文档来自技高网...

【技术保护点】
1.一种基于SpringAop的系统性能监控方法,其特征在于,所述方法包括:定义基于SpringAop的性能监控拦截器;其中,所述性能监控拦截器的通知类型为环绕通知;将所述性能监控拦截器与被监控系统中的所有待拦截方法进行关联;当检测到对目标待拦截方法的调用操作时,利用所述性能监控拦截器对所述目标待拦截方法进行拦截,以更新对所述目标待拦截方法的监控统计结果;其中,所述目标待拦截方法为所述被监控系统中的任一待拦截方法,监控统计结果包括方法调用次数、方法出错次数以及方法平均执行耗时;根据所述被监控系统中所有待拦截方法的监控统计结果,生成并输出所述被监控系统的方法调用次数排行榜单、所述被监控系统的方法出错次数排行榜单以及所述被监控系统的单个方法平均执行耗时排行榜单。

【技术特征摘要】
1.一种基于SpringAop的系统性能监控方法,其特征在于,所述方法包括:定义基于SpringAop的性能监控拦截器;其中,所述性能监控拦截器的通知类型为环绕通知;将所述性能监控拦截器与被监控系统中的所有待拦截方法进行关联;当检测到对目标待拦截方法的调用操作时,利用所述性能监控拦截器对所述目标待拦截方法进行拦截,以更新对所述目标待拦截方法的监控统计结果;其中,所述目标待拦截方法为所述被监控系统中的任一待拦截方法,监控统计结果包括方法调用次数、方法出错次数以及方法平均执行耗时;根据所述被监控系统中所有待拦截方法的监控统计结果,生成并输出所述被监控系统的方法调用次数排行榜单、所述被监控系统的方法出错次数排行榜单以及所述被监控系统的单个方法平均执行耗时排行榜单。2.根据权利要求1所述的方法,其特征在于,所述当检测到对目标待拦截方法的调用操作时,利用所述性能监控拦截器对所述目标待拦截方法进行拦截,包括:当检测到对目标待拦截方法的调用操作时,在执行所述目标待拦截方法之前,利用所述性能监控拦截器将所述目标待拦截方法的历史调用次数增加一次,获得所述目标待拦截方法的累计调用次数,并记录下开始时间戳;执行所述目标待拦截方法;若检测到所述目标待拦截方法抛出异常,利用所述性能监控拦截器将所述目标待拦截方法的历史出错次数增加一次,获得所述目标待拦截方法的累计出错次数;若检测到所述目标待拦截方法执行完成,利用所述性能监控拦截器记录下结束时间戳,并求得所述开始时间戳和所述结束时间戳之间的时间差值,以作为所述目标待拦截方法的单次执行耗时;对所述目标待拦截方法的单次执行耗时和所述目标待拦截方法的历史平均执行耗时进行平均值运算,获得所述目标待拦截方法的累计平均执行耗时。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:获取所述目标待拦截方法在距当前时刻最近的预设时间段内的调用次数,并计算得出所述目标待拦截方法在所述预设时间段内的调用频率;判断所述目标待拦截方法在所述预设时间段内的调用频率是否高于或等于预设频率阈值;若是,触发用于指示所述目标待拦截方法的调用频率过高的提示信息;或者,判断所述目标待拦截方法的单次执行耗时是否高于或等于预设的单次执行耗时阈值;若是,触发用于指示所述目标待拦截方法单次执行超时的第一警告信息;或者,判断所述目标待拦截方法的累计平均执行耗时是否高于或等于预设的单个方法平均执行耗时阈值;若是,触发用于指示所述目标待拦截方法的平均执行时间超时的第二警告信息。4.根据权利要求1所述的方法,其特征在于,所述根据所述被监控系统中所有待拦截方法的监控统计结果,生成并输出所述被监控系统的方法调用次数排行榜单、所述被监控系统的方法出错次数排行榜单以及所述被监控系统的单个方法平均执行耗时排行榜单,包括:根据所述被监控系统中每一个待拦截方法的累计调用次数,对所述被监控系统中的所有待拦截方法从大到小进行排序,获得第一排序结果;根据所述第一排序结果,生成所述被监控系统的方法调用次数排行榜单;以及,根据所述被监控系统中每一个待拦截方法的累计出错次数,对所述被监控系统中的所有待拦截方法从大到小进行排序,获得第二排序结果;根据所述第二排序结果,...

【专利技术属性】
技术研发人员:曾易刘谟春
申请(专利权)人:中国平安人寿保险股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1