本发明涉及开发管理,尤其涉及一种程序监测方法、装置、计算机设备及存储介质。
背景技术:
1、对准确性和高效性要求严格的系统,例如财务系统,需要对系统运行的程序进行监测及时排查出高耗时等具有潜在风险的系统操作,以便有针对性地进行优化进而降低系统风险。传统的对程序进行监测的方法通常通过同步外部系统来监测目标系统,这种方法存在安全风险,并且会损耗目标系统的计算机资源。为了解决这个问题,还有方法通过在程序中加入监测代码对程序进行监测,这种方法因为需要在多处位置写入监测代码,开发过程繁琐,且运维成本较高。
技术实现思路
1、本发明提供一种程序监测方法、装置、计算机设备及介质,以解决传统的程序监测方法开发运维成本高的技术问题。
2、第一方面,提供了一种程序监测方法,包括:
3、获取目标程序中待监测的目标方法,基于所述目标方法的监测指标定义注解和切面,并通过所述注解对每个所述目标方法进行标记;
4、在所述目标程序运行时,若检测到所述注解,则执行所述注解对应的切面,基于所述切面获取所述目标方法的运行信息;
5、对所述目标方法的运行信息进行计算处理,得到所述目标方法的监测信息。
6、第二方面,提供了一种程序监测装置,包括:
7、信息配置模块,用于获取目标程序中待监测的目标方法,基于所述目标方法的监测指标定义注解和切面,并通过所述注解对每个所述目标方法进行标记;
8、运行信息获取模块,用于在所述目标程序运行时,若检测到所述注解,则执行所述注解对应的切面,基于所述切面获取所述目标方法的运行信息;
9、监测信息生成模块,用于对所述目标方法的运行信息进行计算处理,得到所述目标方法的监测信息。
10、第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述程序监测方法的步骤。
11、第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述程序监测方法的步骤。
12、上述程序监测方法、装置、计算机设备及存储介质所实现的方案中,首先获取目标程序中待监测的目标方法,基于所述目标方法的监测指标定义注解和切面,并通过所述注解对每个所述目标方法进行标记;然后在所述目标程序运行时,若检测到所述注解,则执行所述注解对应的切面,基于所述切面获取所述目标方法的运行信息;最后对所述目标方法的运行信息进行计算处理,得到所述目标方法的监测信息。借由上述技术方案,通过对目标程序中的方法添加注解的方式,标记目标程序中需要监测的切点,然后在检测到切点(即程序运行至注解)时,通过执行切面中定义的监测方法来获取目标方法的运行信息,然后对运行信息进行处理得到目标程序的监测信息。通过这种方式能够将监测程序与目标程序解耦,无需在原有的目标程序中加入大量代码,不会改变目标程序原有代码的运行逻辑,能够减轻对目标程序的影响和消耗。开发过程中仅需对注解和切面进行定义以及通过注解对方法进行标记即可,切面中的监测方法可以被重复调用,因此能够降低开发和维护成本。
1.一种程序监测方法,其特征在于,所述方法包括:
2.如权利要求1所述的程序监测方法,其特征在于,所述目标方法基于调用关系包括多种类型,不同类型的所述目标方法对应不同的监测指标;
3.如权利要求2所述的程序监测方法,其特征在于,所述切面包括前置通知、后置通知以及异常通知;
4.如权利要求3所述的程序监测方法,其特征在于,若所述目标方法为所述常规方法,则所述目标方法的监测指标包括:所述目标方法的消耗时长、消耗资源、输入参数以及运行结果;
5.如权利要求4所述的程序监测方法,其特征在于,若所述目标方法为所述循环方法,则所述目标方法的监测指标还包括:所述目标方法的调用次数、最大耗时、最小耗时、平均耗时、最大能耗、最小能耗、平均能耗、成功运行次数以及失败运行次数;
6.如权利要求4所述的程序监测方法,其特征在于,若所述目标方法为所述链路方法,则所述目标方法的监测指标还包括:所述目标方法的调用关系;
7.如权利要求1所述的程序监测方法,其特征在于,所述基于所述切面获取所述目标方法的运行信息时,还包括:将所述运行信息通过异步的方式存入哈希链表中;
8.一种程序监测装置,其特征在于,包括:
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述程序监测方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述程序监测方法的步骤。