System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种数据分析方法、装置、电子设备、计算机可读介质。
技术介绍
1、对于计算机系统(比如,安卓系统)来说,如果该计算机系统中所部署的应用程序(application,app)出现响应比较慢等问题,则该计算机系统会反馈应用程序无响应(application not responding,anr)的提示信息。
2、然而,如何确定导致anr的原因是一项亟待解决的技术问题。
技术实现思路
1、为了解决上述技术问题,本申请提供了一种数据分析方法、装置、电子设备、计算机可读介质。
2、为了实现上述目的,本申请提供的技术方案如下:
3、本申请提供一种数据分析方法,所述方法包括:
4、在终端设备发生卡顿之后,获取卡顿描述信息;
5、若所述卡顿描述信息表示在卡顿发生时所述终端设备的中央处理器cpu负载超过第一负载阈值,则依据所述卡顿描述信息以及在卡顿阶段所述终端设备的状态描述信息,进行至少一个维度的cpu负载分析,得到至少一个维度的cpu负载分析结果;
6、根据所述cpu负载分析结果,确定所述卡顿的原因分析结果。
7、在一种可能的实施方式下,所述至少一个维度包括应用维度和/或系统维度。
8、在一种可能的实施方式下,所述至少一个维度包括应用维度;
9、所述终端设备的状态描述信息包括所述终端设备上部署的至少一个应用程序的运行状态描述信息;
10、所述应用维度的c
11、若所述卡顿描述信息表示在卡顿发生时所述至少一个应用程序中目标应用的至少一个线程cpu负载超过第二负载阈值,则利用所述目标应用的运行状态描述信息,确定所述目标应用对应的cpu负载分析结果;
12、根据所述目标应用对应的cpu负载分析结果,确定所述应用维度的cpu负载分析结果。
13、在一种可能的实施方式下,所述目标应用的运行状态描述信息包括所述目标应用中至少一个线程的cpu使用数据;
14、所述目标应用对应的cpu负载分析结果的确定过程,包括:
15、根据所述至少一个线程的cpu使用数据,从所述至少一个线程中确定满足预设线程cpu负载条件的线程;
16、根据所述满足预设线程cpu负载条件的线程,确定所述目标应用对应的cpu负载分析结果。
17、在一种可能的实施方式下,所述目标应用的运行状态描述信息包括所述目标应用中至少一个线程的追踪数据;
18、所述目标应用对应的cpu负载分析结果的确定过程,包括:
19、根据各线程的追踪数据构建各线程的堆栈树;
20、从各线程的堆栈树中查找满足预设耗时条件的节点;
21、根据所述满足预设耗时条件的节点,确定所述目标应用对应的cpu负载分析结果。
22、在一种可能的实施方式下,所述目标应用的运行状态描述信息还包括各所述线程的cpu使用数据;
23、所述根据各线程的追踪数据构建各线程的堆栈树之前,所述方法还包括:
24、利用各所述线程的cpu使用数据,从所述卡顿阶段中确定各所述线程对应的满足预设cpu使用条件的时间段;
25、依据各所述线程对应的满足预设cpu使用条件的时间段,对各线程的追踪数据进行筛选处理,得到各线程在对应时间段内的追踪数据;
26、所述根据各线程的追踪数据构建各线程的堆栈树,包括:
27、根据各线程在对应时间段内的追踪数据,构建各线程的堆栈树。
28、在一种可能的实施方式下,所述至少一个维度包括系统维度;
29、所述终端设备的状态描述信息包括所述终端设备中至少一个系统进程的cpu使用数据;
30、所述系统维度的cpu负载分析结果的确定过程,包括:
31、若所述卡顿描述信息表示在卡顿发生时所述至少一个系统进程中目标进程的cpu负载超过第三负载阈值,则根据所述目标进程的cpu使用数据,确定所述目标进程的cpu负载分析结果;
32、根据所述目标进程的cpu负载分析结果,确定所述系统维度的cpu负载分析结果。
33、在一种可能的实施方式下,所述终端设备的状态描述信息包括所述终端设备上部署的至少一个应用程序的运行状态描述信息;
34、所述根据所述cpu负载分析结果,确定所述卡顿的原因分析结果之前,所述方法还包括:
35、根据各应用程序的运行状态描述信息,构建各应用程序的堆栈树;
36、依据各应用程序的堆栈树,确定各应用程序对应的异常函数以及所述异常函数的异常表征数据;
37、所述根据所述cpu负载分析结果,确定所述卡顿的原因分析结果,包括:
38、根据所述cpu负载分析结果、所述异常函数以及所述异常函数的异常表征数据,确定所述卡顿的原因分析结果。
39、本申请提供了一种数据分析装置,包括:
40、信息获取单元,用于在终端设备发生卡顿之后,获取卡顿描述信息;
41、负载分析单元,用于若所述卡顿描述信息表示在卡顿发生时所述终端设备的中央处理器cpu负载超过第一负载阈值,则依据所述卡顿描述信息以及在卡顿阶段所述终端设备的状态描述信息,进行至少一个维度的cpu负载分析,得到至少一个维度的cpu负载分析结果;
42、结果确定单元,用于根据所述cpu负载分析结果,确定所述卡顿的原因分析结果。
43、本申请提供了一种电子设备,所述设备包括:处理器和存储器;
44、所述存储器,用于存储指令或计算机程序;
45、所述处理器,用于执行所述存储器中的所述指令或计算机程序,以使得所述电子设备执行本申请提供的数据分析方法。
46、本申请提供了一种计算机可读介质,所述计算机可读介质中存储有指令或计算机程序,当所述指令或计算机程序在设备上运行时,使得所述设备执行本申请提供的数据分析方法。
47、本申请提供了一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行本申请提供的数据分析方法的程序代码。
48、与现有技术相比,本申请至少具有以下优点:
49、本申请提供的技术方案中,对于任意一个终端设备来说,在该终端设备发生卡顿(比如,anr)之后,先获取卡顿描述信息,以使该卡顿描述信息能够描述出当该卡顿发生时该终端设备所处状态(比如,cpu负载状态等),以便在确定该卡顿描述信息表示出在卡顿发生时该终端设备的中央处理器(central processing unit,cpu)负载超过第一负载阈值时,依据该卡顿描述信息以及在卡顿阶段该终端设备的状态描述信息(比如,追踪数据、锁数据、输入/输出数据、cpu耗时等),进行至少一个维度的cpu负载分析,得到至少一个维度的cpu负载分析结果,以使这些cpu本文档来自技高网...
【技术保护点】
1.一种数据分析方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述至少一个维度包括应用维度和/或系统维度。
3.根据权利要求2所述的方法,其特征在于,所述至少一个维度包括应用维度;
4.根据权利要求3所述的方法,其特征在于,所述目标应用的运行状态描述信息包括所述目标应用中至少一个线程的CPU使用数据;
5.根据权利要求3所述的方法,其特征在于,所述目标应用的运行状态描述信息包括所述目标应用中至少一个线程的追踪数据;
6.根据权利要求5所述的方法,其特征在于,所述目标应用的运行状态描述信息还包括各所述线程的CPU使用数据;
7.根据权利要求2所述的方法,其特征在于,所述至少一个维度包括系统维度;
8.根据权利要求1所述的方法,其特征在于,所述终端设备的状态描述信息包括所述终端设备上部署的至少一个应用程序的运行状态描述信息;
9.一种数据分析装置,其特征在于,包括:
10.一种电子设备,其特征在于,所述设备包括:处理器和存储器;
11.
...【技术特征摘要】
1.一种数据分析方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述至少一个维度包括应用维度和/或系统维度。
3.根据权利要求2所述的方法,其特征在于,所述至少一个维度包括应用维度;
4.根据权利要求3所述的方法,其特征在于,所述目标应用的运行状态描述信息包括所述目标应用中至少一个线程的cpu使用数据;
5.根据权利要求3所述的方法,其特征在于,所述目标应用的运行状态描述信息包括所述目标应用中至少一个线程的追踪数据;
6.根据权利要求5所述的方法,其特征在于,所述目标应用的运行状态描述...
【专利技术属性】
技术研发人员:陈家伟,沈云龙,
申请(专利权)人:北京字跳网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。