CN113553230A - 应用程序性能监控方法、装置、存储介质及电子设备 - Google Patents
应用程序性能监控方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113553230A CN113553230A CN202110739810.9A CN202110739810A CN113553230A CN 113553230 A CN113553230 A CN 113553230A CN 202110739810 A CN202110739810 A CN 202110739810A CN 113553230 A CN113553230 A CN 113553230A
- Authority
- CN
- China
- Prior art keywords
- target
- application program
- performance parameters
- calling
- target performance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明一个或多个实施例提供了一种应用程序性能监控方法、装置、存储介质及电子设备,其中,应用程序性能监控方法包括:获取监控配置信息,其中,所述监控配置信息中指定了待监控的目标应用程序的目标性能参数;在所述目标应用程序运行的过程中,以预设时间间隔根据所述配置信息获取所述目标应用程序的所述目标性能参数;将获取到的所述目标性能参数上报至服务器,以使所述服务器根据所述目标性能参数评估所述目标应用程序的运行状态,本发明实施例可提高应用程序的可靠性。
Description
技术领域
本发明涉及计算机应用技术领域,尤其涉及一种应用程序性能监控方法、装置、存储介质及电子设备。
背景技术
目前,计算机应用程序在长期运行过程中产生的一些缓存或者bug,会造成应用程序或者移动终端的运行越来越慢,有时甚至需要定期重启应用程序来改善这种情况,导致用户体验较差。由于这种情况一般都是由应用程序长时间运行导致的,而且通常是偶现的问题,该类问题的排查难度较大。目前Windows Performance Toolkit(简称WPT),可以用来获取应用程序的各项数据,但WPT运行过程中,会产生大量的文件,对空间的占用较大,常用于在应用程序出现异常之后,获取应用程序的各项数据进行异常分析,不适合长时间监控应用程序运行性能。
发明内容
有鉴于此,本发明一个或多个实施例提供了一种应用程序性能监控方法、装置、存储介质及电子设备,通过对应用程序运行过程中的性能参数的监控及上报,可提高应用程序的可靠性。
本发明一个或多个实施例提供了一种应用程序性能监控方法,包括:获取监控配置信息,其中,所述监控配置信息中指定了待监控的目标应用程序的目标性能参数;在所述目标应用程序运行的过程中,以预设时间间隔根据所述配置信息获取所述目标应用程序的所述目标性能参数;将获取到的所述目标性能参数上报至服务器,以使所述服务器根据所述目标性能参数评估所述目标应用程序的运行状态。
可选的,所述目标性能参数至少包括以下一种:提交内存、最大可用连续内存空间、单位时间内中央处理器CPU占用超过阈值的次数、输入/输出I/O读写次数、I/O读写大小、实时句柄个数、实时线程个数以及进程启动速度。
可选的,在所述目标应用程序运行的过程中,以预设时间间隔根据所述配置信息获取所述目标应用程序的所述目标性能参数,包括:在所述目标应用程序运行的过程中,调用应用程序接口API获取所述目标应用程序的所述目标性能参数,和/或根据调用所述API获取到的性能参数计算所述目标性能参数。
可选的,调用应用程序接口API获取所述目标应用程序的所述目标性能参数,和/或根据调用所述API获取到的性能参数计算所述目标性能参数,包括:调用GetProcessMemoryInfo获取提交内存;调用VirtualQueryEx获取内存空间地址,根据获取的内存空间地址计算最大可用连续内存空间;调用GetProcessTimes获取用户和内核使用时间,根据获取到的用户和内核使用时间计算用户时间占比,确定单位时间内CPU占用超过阈值的次数;调用GetProcessIoCounters获取进程I/O数据;调用NtQuerySystemInformation获取进程句柄数据以及线程数据,监控进程的启动时间和窗口的显示时间,计算进程启动速度。
可选的,在所述目标应用程序运行的过程中,以预设时间间隔根据所述配置信息获取所述目标应用程序的所述目标性能参数,包括:根据所述监控配置信息获取待监控进程的句柄;以所述预设时间间隔根据所述句柄获取所述目标性能参数。
可选的,上报至所述服务器的所述目标性能参数,包括:所述目标性能参数和/或采集所述目标性能参数时刻对应的进程快照。
本发明一个或多个实施例还提供了一种应用程序性能监控装置,包括:第一获取模块,被配置为获取监控配置信息,其中,所述监控配置信息中指定了待监控的目标应用程序的目标性能参数;第二获取模块,被配置为在所述目标应用程序运行的过程中,以预设时间间隔根据所述配置信息获取所述目标应用程序的所述目标性能参数;上报模块,被配置为将获取到的所述目标性能参数上报至服务器,以使所述服务器根据所述目标性能参数评估所述目标应用程序的运行状态。
可选的,所述目标性能参数至少包括以下一种:提交内存、最大可用连续内存空间、单位时间内中央处理器CPU占用超过阈值的次数、输入/输出I/O读写次数、I/O读写大小、实时句柄个数、实时线程个数以及进程启动速度。
可选的,所述第二获取模块具体被配置为:在所述目标应用程序运行的过程中,调用应用程序接口API获取所述目标应用程序的所述目标性能参数,和/或根据调用所述API获取到的性能参数计算所述目标性能参数。
可选的,所述第二模块具体被配置为,包括:调用GetProcessMemoryInfo获取提交内存;调用VirtualQueryEx获取内存空间地址,根据获取的内存空间地址计算最大可用连续内存空间;调用GetProcessTimes获取用户和内核使用时间,根据获取到的用户和内核使用时间计算用户时间占比,确定单位时间内CPU占用超过阈值的次数;调用GetProcessIoCounters获取进程I/O数据;调用NtQuerySystemInformation获取进程句柄数据以及线程数据,监控进程的启动时间和窗口的显示时间,计算进程启动速度。
可选的,所述第二获取模块具体被配置为:根据所述监控配置信息获取待监控进程的句柄;以所述预设时间间隔根据所述句柄获取所述目标性能参数。
可选的,上报至所述服务器的所述目标性能参数,包括:所述目标性能参数和/或采集所述目标性能参数时刻对应的进程快照。
本发明一个或多个实施例还提供了一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为所述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行上述任意一种应用程序性能监控方法。
本发明一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任意一种应用程序性能监控方法。
本发明一个或多个实施例提供的应用程序性能监控方法、装置、存储介质及电子设备,根据监控配置信息,以预设时间间隔对监控配置文件中指定的目标应用程序的目标性能参数进行获取,并上报至服务器,使得服务器可根据目标应用程序运行过程中的目标性能参数对应用程序的运行性能进行评估,以实现监控应用程序运行状况的目标,可降低一些未知风险发生的概率,提高应用程序的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是根据本发明一个或多个实施例示出的一种应用程序性能监控方法的流程图;
图2是根据本发明一个或多个实施例示出的另一种应用程序性能监控方法的流程图;
图3是根据本发明一个或多个实施例示出的一种应用程序性能监控装置的结构示意图;
图4是根据本发明一个或多个实施例示出的一种电子设备的结构示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明一个或多个实施例提供了一种应用程序性能监控SDK(SoftwareDevelopment Kit,软件开发工具包),用以对应用程序的性能指标进行监控以及上报,该SDK包括二进制模块、监控配置文件以及SDK接口文件,其中,二进制模块例如可以是kperfplugin.dll(动态链接库文件),该模块用以实现应用程序性能数据的收集以及监控核心逻辑,其中,动态链接库文件可被所有PC应用程序接入,方便了被监控的应用程序接入SDK;监控配置文件例如可以是kperfcfg.xml,该模块用以实现被监控的性能参数的配置,以实现SDK的动态配置,SDK接口文件用以提供外部接入使用。
图1是根据本发明一个或多个实施例示出的一种应用程序性能监控方法的流程图,该方法可由上述SDK执行,如图1所示,该方法包括:
步骤101:获取监控配置信息,其中,所述监控配置信息中指定了待监控的目标应用程序的目标性能参数;
在本发明的一个或多个实施例中,待监控的目标应用程序以及目标应用程序对应的目标性能参数可预先在监控配置信息中被指定,该监控配置信息例如可以由用户自定义,或者还可以由系统默认。该监控配置信息中例如可以包括待监控的目标应用程序的标识,待监控的目标应用程序对应的目标性能参数的类型和/或标识等。
步骤102:在所述目标应用程序运行的过程中,以预设时间间隔根据所述配置信息获取所述目标应用程序的所述目标性能参数;
在本发明一个或多个实施例中,可在目标应用程序运行的整个过程中,持续以预设时间间隔根据配置信息获取目标应用程序的目标性能参数。例如,在加载了上述SDK之后,即可根据上述监控配置信息获取监控进程的句柄,启动定时器,当定时器触发后,根据监控进程的句柄获取监控配置信息中指定的性能参数。
步骤103:将获取到的所述目标性能参数上报至服务器,以使所述服务器根据所述目标性能参数评估所述目标应用程序的运行状态。
其中,上报至服务器的目标性能参数例如可以是目标性能参数本身和/或采集目标性能参数时刻对应的进程快照。
在本发明一个或多个实施例中,目标应用程序可运行于终端设备中,可由终端设备将周期性的获取到的目标应用程序运行过程中的目标性能参数发送给服务器,从而服务器可根据周期性的接收到的目标性能参数对目标应用程序在终端设备中的运行情况进行评估,从而实现对目标应用程序整个运行过程中的运行性能的持续监控,当通过评估确定目标应用程序运行发生异常时,例如目标应用程序发生崩溃或目标应用程序对CPU占用较高时,可获取该时刻的进程快照(为上述性能参数的一个示例),将该进程快照上报服务器,服务器转发至运营平台进行分析,得到分析结果,再将分析结果反馈给开发人员,开发人员可根据分析结果对目标应用程序进行修改,修改后的应用程序文件可发布到外网,从而实现对应用程序的改进。此外,是确定目标应用程序发生异常后,还可发出预警消息,以便用户及时获知应用程序异常消息。
本发明一个或多个实施例提供的应用程序性能监控方法,根据监控配置信息,以预设时间间隔对监控配置文件中指定的目标应用程序的目标性能参数进行获取,并上报至服务器,使得服务器可根据目标应用程序运行过程中的目标性能参数对应用程序的运行性能进行评估,以实现监控应用程序运行状况的目标,可降低一些未知风险发生的概率,提高应用程序的可靠性。
在本发明的一个或多个实施例中,所述目标性能参数至少包括以下一种:
最大可用连续内存空间、单位时间内CPU占用超过阈值的次数、I/O读写次数、I/O读写大小、实时句柄个数、实时线程个数以及进程启动速度。由于这些性能参数是衡量应用程序是否稳定的主要性能指标,故在获取目标应用程序的这些类型的性能参数之后,可基于这些性能参数中的至少一种,确定目标应用程序的运行性能,由于本发明实施例仅基于这几种性能参数中的至少一种确定目标应用的运行性能,故,本发明实施例的SDK是一个轻量级的应用程序,故即使长时间运行该SDK对应用程序的性能参数进行监控,也不会产生大量文件,降低了对空间的占用,同时,也不会对被监控的应用程序的性能产生消耗,故,可长时间通过本发明实施例的应用程序性能监控方法对应用程序的性能参数进行监控,从而可及时发现应用程序运行过程中出现的问题,达到对应用程序的全面监控。
在本发明的一个或多个实施例中,上述目标性能参数的类型例如还可以被划分为内存、CPU、I/O以及进程这几种类型,基于此,可在上述监控配置信息中指定目标性能参数的类型。其中,内存类型的性能参数例如可以包括提交内存以及最大可用连续内存。CPU类型的性能参数例如可以包括单位时间内CPU占用超过阈值的次数。I/O类型的性能参数例如可以包括读写次数以及读写大小(即读写size)。进程类型的性能参数例如可以包括实时句柄个数、实时线程个数以及进程启动速度。与上述实施例相比,本实施例根据性能参数所属的类别对性能参数进行了划分,各类别之下还定义了该类别所包括的性能参数的种类。基于此,在监控配置信息中指定了目标性能参数的基础上,在获取目标应用的目标性能参数时,可基于监控配置信息中指定的性能参数的类型来获取目标应用程序的目标性能参数,基于此,可简化监控配置信息的配置。
在本发明的一个或的多个实施例中,在所述目标应用程序运行的过程中,以预设时间间隔根据所述配置信息获取所述目标应用程序的所述目标性能参数,可包括:
在所述目标应用程序运行的过程中,调用API(Application ProgrammingInterface,应用程序接口)获取所述目标应用程序的所述目标性能参数,和/或根据调用所述API获取到的性能参数计算所述目标性能参数。例如,可通过调用Windows API获取内存、CPU、I/O以及进程等类型的性能参数,获取到的这些性能参数中可包括目标性能参数,也可包括用于计算目标性能参数的中间参数,基于此,可以根据获取到的性能参数计算监控配置信息中指定的目标性能参数。借助API获取目标应用程序的性能参数,方便了对目标应用程序的目标性能参数的收集。
在本发明的一个或的多个实施例中,调用应用程序接口API获取所述目标应用程序的所述目标性能参数,和/或根据调用所述API获取到的性能参数计算所述目标性能参数,可包括:
调用GetProcessMemoryInfo获取提交内存;
调用VirtualQueryEx获取内存空间地址,根据获取的内存空间地址计算最大可用连续内存空间;其中,最大可用连续内存空间的下降一般是由于应用程序长时间运行导致内存碎片过多造成的。
调用GetProcessTimes获取用户和内核使用时间,根据获取到的用户和内核使用时间计算用户时间占比,确定单位时间内CPU占用超过阈值的次数;
调用GetProcessCounters获取进程I/O数据;例如,获取I/O读写次数以及I/O读写大小等I/O数据数据。
调用NtQuerySystemInformation获取进程句柄数据以及线程数据,监控进程的启动时间和窗口的显示时间,计算进程启动速度。其中,句柄数据包括但不限于实时句柄的个数,线程数据包括但不限于实时线程的个数。可根据进程启动时间和窗口显示时间之差计算出进程的启动速度。
其中,上述GetProcessMemoryInfo、VirtualQueryEx、GetProcessTimes、GetProcessIoCounters、NtQuerySystemInformation均为Windows API函数,在本发明的实施例中,通过调用这些API函数可获取目标应用程序的性能参数。GetProcessMemoryInfo可用于获取内存的使用情况。VirtualQueryEx可用于查询地址空间中内存地址的信息;GetProcessTimes可用于获取与一个进程的经过时间有关的信息;GetProcessIoCounters可用于获取进程的个数;NtQuerySystemInformation可用于返回系统句柄列表。
在本发明的一个或的多个实施例中,在所述目标应用程序运行的过程中,以预设时间间隔根据所述配置信息获取所述目标应用程序的所述目标性能参数,可包括:
根据所述监控配置信息获取待监控进程的句柄;其中,在本实施例中,待监控进程例如可以是一个目标应用程序的进程,也可以是多个目标应用程序的进程。
以所述预设时间间隔根据所述句柄获取所述目标性能参数。
在获取目标应用程序的目标性能参数信息时,需要指定进程,而进程可用句柄标识,故,可根据句柄获取目标应用程序的目标性能参数。以图2所示为例,对本发明一个或多个实施例的应用程序性能监控方法进行示例性说明,该方法包括:步骤201:SDK初始化;步骤202:启动一个定时器;定时器的定时时间可为上述预设时间间隔的时长,在预设时间间隔到达后,步骤203:定时器触发;步骤204:执行获取监控配置信息中指定的目标性能参数的操作;步骤205:向服务器上报获取到的性能参数,返回步骤203。其中,在SDK初始化过程中可获取上述监控配置信息。
图3是根据本发明一个或多个实施例示出的一种应用程序性能监控装置的结构示意图,如图3所示,该装置30包括:
第一获取模块31,被配置为获取监控配置信息,其中,所述监控配置信息中指定了待监控的目标应用程序的目标性能参数;
第二获取模块32,被配置为在所述目标应用程序运行的过程中,以预设时间间隔根据所述配置信息获取所述目标应用程序的所述目标性能参数;
上报模块33,被配置为将获取到的所述目标性能参数上报至服务器,以使所述服务器根据所述目标性能参数评估所述目标应用程序的运行状态。
在本发明的一个或多个实施例中,所述目标性能参数至少包括以下一种:提交内存、最大可用连续内存空间、单位时间内中央处理器CPU占用超过阈值的次数、输入/输出I/O读写次数、I/O读写大小、实时句柄个数、实时线程个数以及进程启动速度。
在本发明的一个或多个实施例中,所述第二获取模块具体可被配置为:在所述目标应用程序运行的过程中,调用应用程序接口API获取所述目标应用程序的所述目标性能参数,和/或根据调用所述API获取到的性能参数计算所述目标性能参数。
在本发明的一个或多个实施例中,所述第二模块具体可被配置为,包括:调用GetProcessMemoryInfo获取提交内存;调用VirtualQueryEx获取内存空间地址,根据获取的内存空间地址计算最大可用连续内存空间;调用GetProcessTimes获取用户和内核使用时间,根据获取到的用户和内核使用时间计算用户时间占比,确定单位时间内CPU占用超过阈值的次数;调用GetProcessIoCounters获取进程I/O数据;调用NtQuerySystemInformation获取进程句柄数据以及线程数据,监控进程的启动时间和窗口的显示时间,计算进程启动速度。
在本发明的一个或多个实施例中,所述第二获取模块具体可被配置为:根据所述监控配置信息获取待监控进程的句柄;以所述预设时间间隔根据所述句柄获取所述目标性能参数。
在本发明的一个或多个实施例中,上报至所述服务器的所述目标性能参数可包括:所述目标性能参数和/或采集所述目标性能参数时刻对应的进程快照。
本发明一个或多个实施例还提供了一种电子设备,所述电子设备包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为所述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行上述任意一种应用程序性能监控方法。
本发明一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行上述任意一种应用程序性能监控方法。
相应的,如图3所示,本发明一个或多个实施例提供的电子设备,可以包括:壳体31、处理器32、存储器33、电路板34和电源电路35,其中,电路板34安置在壳体31围成的空间内部,处理器32和存储器33设置在电路板34上;电源电路35,用于为所述电子设备的各个电路或器件供电;存储器33用于存储可执行程序代码;处理器32通过读取存储器33中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述实施例提供的任意一种应用程序性能监控方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种应用程序性能监控方法,其特征在于,包括:
获取监控配置信息,其中,所述监控配置信息中指定了待监控的目标应用程序的目标性能参数;
在所述目标应用程序运行的过程中,以预设时间间隔根据所述配置信息获取所述目标应用程序的所述目标性能参数;
将获取到的所述目标性能参数上报至服务器,以使所述服务器根据所述目标性能参数评估所述目标应用程序的运行状态。
2.根据权利要求1所述的方法,其特征在于,所述目标性能参数至少包括以下一种:
提交内存、最大可用连续内存空间、单位时间内中央处理器CPU占用超过阈值的次数、输入/输出I/O读写次数、I/O读写大小、实时句柄个数、实时线程个数以及进程启动速度。
3.根据权利要求1所述的方法,其特征在于,在所述目标应用程序运行的过程中,以预设时间间隔根据所述配置信息获取所述目标应用程序的所述目标性能参数,包括:
在所述目标应用程序运行的过程中,调用应用程序接口API获取所述目标性能参数,和/或根据调用所述API获取到的性能参数计算所述目标性能参数。
4.根据权利要求3所述的方法,其特征在于,调用应用程序接口API获取所述目标应用程序的所述目标性能参数,和/或根据调用所述API获取到的性能参数计算所述目标性能参数,包括:
调用GetProcessMemoryInfo获取提交内存;
调用VirtualQueryEx获取内存空间地址,根据获取的内存空间地址计算最大可用连续内存空间;
调用GetProcessTimes获取用户和内核使用时间,根据获取到的用户和内核使用时间计算用户时间占比,确定单位时间内CPU占用超过阈值的次数;
调用GetProcessIoCounters获取进程I/O数据;
调用NtQuerySystemInformation获取进程句柄数据以及线程数据,监控进程的启动时间和窗口的显示时间,计算进程启动速度。
5.根据权利要求1所述的方法,其特征在于,在所述目标应用程序运行的过程中,以预设时间间隔根据所述配置信息获取所述目标应用程序的所述目标性能参数,包括:
根据所述监控配置信息获取待监控进程的句柄;
以所述预设时间间隔根据所述句柄获取所述目标性能参数。
6.根据权利要求1至5任一项所述的方法,其特征在于,上报至所述服务器的所述目标性能参数,包括:
所述目标性能参数和/或采集所述目标性能参数时刻对应的进程快照。
7.一种应用程序性能监控装置,其特征在于,包括:
第一获取模块,被配置为获取监控配置信息,其中,所述监控配置信息中指定了待监控的目标应用程序的目标性能参数;
第二获取模块,被配置为在所述目标应用程序运行的过程中,以预设时间间隔根据所述配置信息获取所述目标应用程序的所述目标性能参数;
上报模块,被配置为将获取到的所述目标性能参数上报至服务器,以使所述服务器根据所述目标性能参数评估所述目标应用程序的运行状态。
8.根据权利要求7所述的装置,其特征在于,所述目标性能参数至少包括以下一种:
提交内存、最大可用连续内存空间、单位时间内中央处理器CPU占用超过阈值的次数、输入/输出I/O读写次数、I/O读写大小、实时句柄个数、实时线程个数以及进程启动速度。
9.根据权利要求7所述的装置,其特征在于,所述第二获取模块具体被配置为:
在所述目标应用程序运行的过程中,调用应用程序接口API获取所述目标性能参数,和/或根据调用所述API获取到的性能参数计算所述目标性能参数。
10.根据权利要求9所述的装置,其特征在于,所述第二模块具体被配置为,包括:
调用GetProcessMemoryInfo获取提交内存;
调用VirtualQueryEx获取内存空间地址,根据获取的内存空间地址计算最大可用连续内存空间;
调用GetProcessTimes获取用户和内核使用时间,根据获取到的用户和内核使用时间计算用户时间占比,确定单位时间内CPU占用超过阈值的次数;
调用GetProcessIoCounters获取进程I/O数据;
调用NtQuerySystemInformation获取进程句柄数据以及线程数据,监控进程的启动时间和窗口的显示时间,计算进程启动速度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110739810.9A CN113553230A (zh) | 2021-06-30 | 2021-06-30 | 应用程序性能监控方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110739810.9A CN113553230A (zh) | 2021-06-30 | 2021-06-30 | 应用程序性能监控方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113553230A true CN113553230A (zh) | 2021-10-26 |
Family
ID=78131164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110739810.9A Pending CN113553230A (zh) | 2021-06-30 | 2021-06-30 | 应用程序性能监控方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553230A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019706A (zh) * | 2012-11-29 | 2013-04-03 | 北京奇虎科技有限公司 | 针对启动项目的处理方法和装置 |
CN103248651A (zh) * | 2012-02-09 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 一种性能监控的方法和系统以及客户端和服务器 |
CN103645954A (zh) * | 2013-11-21 | 2014-03-19 | 华为技术有限公司 | 一种基于异构多核体系的cpu调度方法、装置和系统 |
CN104809045A (zh) * | 2015-04-27 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 监控脚本的运行方法及装置 |
CN109240887A (zh) * | 2018-09-04 | 2019-01-18 | 北京世纪东方通讯设备有限公司 | 应用程序运行状态的远程监控方法、监控端及监控服务器 |
CN109542715A (zh) * | 2018-10-15 | 2019-03-29 | 北京达佳互联信息技术有限公司 | 采集应用程序性能数据的方法、装置及终端设备 |
CN112650656A (zh) * | 2019-10-09 | 2021-04-13 | 北京京东尚科信息技术有限公司 | 性能监控方法、装置、设备、服务器及存储介质 |
CN112783725A (zh) * | 2021-01-26 | 2021-05-11 | 中国工商银行股份有限公司 | 指标采集方法及装置 |
-
2021
- 2021-06-30 CN CN202110739810.9A patent/CN113553230A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103248651A (zh) * | 2012-02-09 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 一种性能监控的方法和系统以及客户端和服务器 |
CN103019706A (zh) * | 2012-11-29 | 2013-04-03 | 北京奇虎科技有限公司 | 针对启动项目的处理方法和装置 |
CN103645954A (zh) * | 2013-11-21 | 2014-03-19 | 华为技术有限公司 | 一种基于异构多核体系的cpu调度方法、装置和系统 |
CN104809045A (zh) * | 2015-04-27 | 2015-07-29 | 腾讯科技(深圳)有限公司 | 监控脚本的运行方法及装置 |
CN109240887A (zh) * | 2018-09-04 | 2019-01-18 | 北京世纪东方通讯设备有限公司 | 应用程序运行状态的远程监控方法、监控端及监控服务器 |
CN109542715A (zh) * | 2018-10-15 | 2019-03-29 | 北京达佳互联信息技术有限公司 | 采集应用程序性能数据的方法、装置及终端设备 |
CN112650656A (zh) * | 2019-10-09 | 2021-04-13 | 北京京东尚科信息技术有限公司 | 性能监控方法、装置、设备、服务器及存储介质 |
CN112783725A (zh) * | 2021-01-26 | 2021-05-11 | 中国工商银行股份有限公司 | 指标采集方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874624B (zh) | 服务器、监控Java进程的方法及存储介质 | |
CN109753406B (zh) | 接口的性能监控方法、装置、设备及计算机可读存储介质 | |
CN106682162B (zh) | 日志管理方法及装置 | |
CN109165138B (zh) | 一种监控设备故障的方法和装置 | |
CN108508874B (zh) | 一种监控设备故障的方法和装置 | |
CN112115039B (zh) | 测试用例生成方法、装置及设备 | |
CN110688168A (zh) | 提高应用程序启动速度方法、装置、设备及存储介质 | |
CN112558982B (zh) | 代码检测方法、装置及计算机设备 | |
CN113553230A (zh) | 应用程序性能监控方法、装置、存储介质及电子设备 | |
CN116932392A (zh) | 界面测试方法、装置、设备、存储介质和计算机程序产品 | |
CN116361111A (zh) | 一种数据获取方法、装置及电子设备 | |
CN109101259B (zh) | 一种OSDMap缓存容器的更新方法、装置及终端 | |
CN105700656B (zh) | 待机异常耗电侦测系统及方法 | |
CN115145797A (zh) | 一种应用性能测试的方法、装置、设备及存储介质 | |
US20220245042A1 (en) | Predicting motherboard connector failures | |
CN114048094A (zh) | 一种应用启动的监测方法、装置、设备及存储介质 | |
CN112650646A (zh) | 一种并发任务超时监控方法、装置及电子设备 | |
CN111352825B (zh) | 数据接口的测试方法、装置及服务器 | |
CN113676377A (zh) | 基于大数据的在线用户数评估方法、装置、设备及介质 | |
CN114003480A (zh) | 一种app启动时长监控系统及方法 | |
CN107967181B (zh) | 临界区的控制方法及装置 | |
CN111984628A (zh) | 数据库统计信息采集方法、装置、介质和电子设备 | |
CN115220648B (zh) | 数据写入流量统计方法、装置以及电子设备 | |
CN113641308B (zh) | 压缩文件索引增量更新方法、装置及电子设备 | |
CN115421944A (zh) | 应用程序无响应的分析方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |