应用程序监控方法及应用程序监控装置制造方法及图纸

技术编号:18575745 阅读:28 留言:0更新日期:2018-08-01 10:45
一种应用程序监控方法及装置,一个实施例的方法包括:监听应用程序的运行参数;根据监听到的运行参数判断所述应用程序是否发生卡顿现象;在判定所述应用程序发生卡顿现象时,记录所述应用程序的当前进程的运行状态和各个线程的堆栈信息。本实施例的方案可以在保留卡顿现场的情况下对应用程序的卡顿现象进行监控,据此提高对应用程序卡顿现象监控和分析的准确性。

Application monitoring method and application monitoring device

An application monitoring method and device. An example of an application includes listening to the running parameters of the application; judging whether the application has a Caton phenomenon based on the running parameters monitored; and records the running state of the current process of the application when the Caton phenomenon of the application is determined. And the stack information of each thread. The implementation of this scheme can monitor the application program's carton phenomenon in the case of retaining the site of the carton, so as to improve the accuracy of monitoring and analysis of the application program carton phenomenon.

【技术实现步骤摘要】
应用程序监控方法及应用程序监控装置
本专利技术涉及信息处理
,特别是涉及一种应用程序监控方法以及一种应用程序监控装置。
技术介绍
随着智能手机、平板电脑等智能终端设备的日益普及,智能终端设备的处理能力越来越强,所能够安装运行的应用程序的数目越多。在应用程序的运行过程中,可能会出现卡顿现象,对应用程序的卡顿现象进行收集,以便于应用程序的卡顿问题进行分析,以对应用程序的性能进行分析,进而便于应用程序进行改进,是应用程序应用中的一项重要内容。目前针对应用程序卡顿问题的监控,通常是在应用程序出现卡顿现象时,在应用程序的日志中进行记录,并基于日志记录尝试重现,据此进行分析。然而,由于日志记录并不能完全反映出卡顿现场,而且用户使用环境不仅相同,基于日志记录并不能完整的重现卡顿,从而容易导致对卡顿现象分析的不准确性。
技术实现思路
基于此,本实施例的目的在于提供一种应用程序监控方法以及一种应用程序监控装置,其可以在保留卡顿现场的情况下对应用程序的卡顿现象进行监控,据此提高对应用程序卡顿现象监控和分析的准确性。为达到上述目的,本实施例采用以下技术方案:一种应用程序监控方法,包括步骤:监听应用程序的运行参数;根据监听到的运行参数判断所述应用程序是否发生卡顿现象;在判定所述应用程序发生卡顿现象时,记录所述应用程序的当前进程的运行状态和各个线程的堆栈信息。一种应用程序监控方法装置,包括:监听模块,用于监听应用程序的运行参数;判断模块,用于根据所述监听模块监听到的运行参数判断所述应用程序是否发生卡顿现象;记录模块,用于在所述判断模块判定所述应用程序发生卡顿现象时,记录所述应用程序的当前进程的运行状态和各个线程的堆栈信息。基于如上所述的实施例的方案,其通过对应用程序的运行参数进行监听,并在根据监听到的运行参数判定应用程序发生卡顿现象时,记录该应用程序的当前进程的运行状态和各个线程的堆栈信息,而应用程序的当前进程的运行状态和各个线程的堆栈信息很好的反映了卡顿现场,从而可以在保留卡顿现场的情况下对应用程序的卡顿现象进行监控,据此提高对应用程序卡顿现象监控和分析的准确性。附图说明图1是一个实施例中的方案的应用环境的示意图;图2是一个实施例中的终端的组成结构的示意图;图3是一个实施例中的应用程序监控方法的流程示意图;图4是一个具体示例中的本实施例方案的监控原理示意图;图5是一个具体示例中的上传界面的示意图;图6是一个具体示例中的后台服务器的原理示意图;图7是一个具体示例中对卡顿现象进行分析的界面的示意图;图8是一个实施例的应用程序监控装置的结构示意图;图9是一个具体示例中的监听模块的结构示意图;图10是一个具体示例中的记录模块的结构示意图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不限定本专利技术的保护范围。图1示出了本专利技术一个实施例中的工作环境示意图,如图1所示,其工作环境涉及终端101以及后台服务器102,终端101与后台服务器102可以通过网络进行通信。终端101上运行有各种应用程序,终端101对其运行的应用程序进行监控,在监听到应用程序发生卡顿现象时,终端101记录发生卡顿现场的相关参数,并将这些相关参数发送给后台服务器102,由后台服务器102根据接收到的这些相关参数对应用程序的卡顿现象进行分析。本专利技术实施例涉及的是终端101对应用程序的卡顿现象进行监控的方案。终端101在一个实施例中的结构示意图如图2所示。该终端101包括通过系统总线连接的处理器、存储介质、通信接口、电源接口和内存。其中,终端101的存储介质存储有一种应用程序监控装置,该装置用于实现一种应用程序监控方法。终端101的通信接口用于与后台服务器102连接和通信,终端101的电源接口用于与外部电源连接,外部电源通过该电源接口向终端101供电。终端101可以是任何一种能够实现智能输入输出的设备,例如移动终端,比如手机、平板电脑等;个人计算机等,也可以是其它具有上述结构的设备。图3示出了一个实施例中的应用程序监控方法的流程示意图,如图3所示,该实施例的应用程序监控方法包括:步骤S301:监听应用程序的运行参数;步骤S302:根据监听到的运行参数判断所述应用程序是否发生卡顿现象,在判定述应用程序发生卡顿现象时,进入步骤S303;步骤S303:记录所述应用程序的当前进程的运行状态和各个线程的堆栈信息。基于如上所述的实施例的方案,其通过对应用程序的运行参数进行监听,并在根据监听到的运行参数判定应用程序发生卡顿现象时,记录该应用程序的当前进程的运行状态和各个线程的堆栈信息,而应用程序的当前进程的运行状态和各个线程的堆栈信息很好的反映了卡顿现场,从而可以在保留卡顿现场的情况下对应用程序的卡顿现象进行监控,据此提高对应用程序卡顿现象监控和分析的准确性。其中,在上述步骤S301中监听应用程序的运行参数时,可以采用任何可能的方式进行,以下结合其中几种方式进行举例说明。在一个具体示例中,监听应用程序的运行参数的方式可以包括:监听所述应用程序的主线程的开始运行时间,此时,上述运行参数包括所述开始运行时间。在具体技术应用中,可以通过创建一个新的监控子线程对应用程序的主线程的开始运行时间进行监控。此时,在上述步骤S302根据监听到的运行参数判断所述应用程序是否发生卡顿现象时,可以在所述应用程序的当前进程的运行状态为运行中、且当前时间与所述开始运行时间的差值大于或者等于预定时间阈值时,判定所述应用程序发生卡顿现象。在具体技术应用中,可以记录每一次主线程的开始运行时间以及该每一次主线程的结束运行时间,从而可以将时间最近的主线程的开始运行时间作为应用程序的主线程的开始运行时间。记录下的各次主线程的开始运行时间、结束运行时间,可以用以进行其他的相关的相关分析。另一方面,也可以是仅记录应用程序的主线程的开始运行时间,在主线程结束运行后,清除掉记录的该开始运行时间,从而在上述步骤S302进行判断时,直接读取记录的该开始运行时间即可。在监听应用程序的主线程的开始运行时间时,在一个应用示例中,可以是通过在应用程序的主线程中嵌入observer函数,并通过嵌入在主线程里的observer函数监听所述应用程序的主线程的开始运行时间。在另一个应用示例中,可以通过与所述应用程序关联的屏幕刷新定时器监听所述应用程序的渲染帧开始时间,并将所述渲染帧开始时间作为所述开始运行时间。这里的屏幕刷新定时器可以是例如CADisplayLinkUI,从而可以将CADisplayLinkUI嵌入到主线程后,通过嵌入在主线程里的CADisplayLinkUI对象监听所述应用程序的所述渲染帧开始时间。在另一个具体示例中,监听应用程序的运行参数的方式可以包括:监听所述应用程序的主线程的运行状态。此时,上述运行参数包括所述应用程序的主线程的运行状态。在此情况下,在上述步骤S302中根据监听到的运行参数判断所述应用程序是否发生卡顿现象时,可以是在所述应用程序的主线程的运行状态为等待事件阶段时,判定所述应用程序发生卡顿现象。在另一个具体示例中,监听应用程序的运行参数的方式可以包括:监听所述应用程序的CPU使用率。本文档来自技高网...

【技术保护点】
1.一种应用程序监控方法,其特征在于,包括步骤:监听应用程序的运行参数;根据监听到的运行参数判断所述应用程序是否发生卡顿现象;在判定所述应用程序发生卡顿现象时,记录所述应用程序的当前进程的运行状态和各个线程的堆栈信息。

【技术特征摘要】
1.一种应用程序监控方法,其特征在于,包括步骤:监听应用程序的运行参数;根据监听到的运行参数判断所述应用程序是否发生卡顿现象;在判定所述应用程序发生卡顿现象时,记录所述应用程序的当前进程的运行状态和各个线程的堆栈信息。2.根据权利要求1所述的应用程序监控方法,其特征在于:监听应用程序的运行参数的方式包括:监听所述应用程序的主线程的开始运行时间,所述运行参数包括所述开始运行时间;根据监听到的运行参数判断所述应用程序是否发生卡顿现象的方式包括:在所述应用程序的当前进程的运行状态为运行中、且当前时间与所述开始运行时间的差值大于或者等于预定时间阈值时,判定所述应用程序发生卡顿现象。3.根据权利要求2所述的应用程序监控方法,其特征在于:通过嵌入在主线程里的observer函数监听所述应用程序的主线程的开始运行时间;或者通过与所述应用程序关联的屏幕刷新定时器监听所述应用程序的渲染帧开始时间,并将所述渲染帧开始时间作为所述开始运行时间。4.根据权利要求1所述的应用程序监控方法,其特征在于,包括下述各项中的至少一项:监听应用程序的运行参数的方式包括:监听所述应用程序的主线程的运行状态,所述运行参数包括所述应用程序的主线程的运行状态;根据监听到的运行参数判断所述应用程序是否发生卡顿现象的方式包括:在所述应用程序的主线程的运行状态为等待事件阶段时,判定所述应用程序发生卡顿现象;监听应用程序的运行参数的方式包括:监听所述应用程序的CPU使用率,所述运行参数包括所述应用程序的CPU使用率;根据监听到的运行参数判断所述应用程序是否发生卡顿现象的方式包括:在所述应用程序的CPU使用率大于或者等于使用率阈值时,判定所述应用程序发生卡顿现象;监听应用程序的运行参数的方式包括:监听所述应用程序的帧渲染信息,所述运行参数包括所述应用程序的帧渲染信息;根据监听到的运行参数判断所述应用程序是否发生卡顿现象的方式包括:在所述应用程序的帧渲染信息判定所述应用程序掉帧时,判定所述应用程序发生卡顿现象。5.根据权利要求1至4任意一项所述的应用程序监控方法,其特征在于,在判定所述应用程序发生卡顿现象时,记录所述应用程序的当前进程的运行状态和各个线程的堆栈信息的方式包括:将所述应用程序的当前进程的运行状态和各个线程的堆栈信息记录到dump文件。6.根据权利要求1至4任意一项所述的应用程序监控方法,其特征在于,在判定所述应用程序发生卡顿现象时,记录所述应用程序的当前进程的运行状态和各个线程的堆栈信息的方式包括:判断是否有与该卡顿现象对应的dump文件;若是,忽略该卡顿现象;若否,生成该卡顿现象的dump文件,并将所述应用程序的当前进程的运行状态和各个线程的堆栈信息记录到生成的该dump文件。7.根据权利要求6所述的应用程序监控方法,其特征在于,判断是否有与该卡顿现象对应的dump文件的方式包括:判断所述应用程序的当前主线程的调用栈与上一次卡顿现象的dump文件中记录的当前主线程的调用栈是否相同;若相同,判定有与该卡顿现象对应的dump文件。8.根据权利要求1至4任意一项所述的应用程序监控方法,其特征在于,还包括步骤:向后台服务器发送卡顿记录信息,所述卡顿...

【专利技术属性】
技术研发人员:吴海涛
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1