一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

应用性能监测方法、电子设备及存储介质与流程

2021-12-04 02:18:00 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,具体涉及一种应用性能监测方法、电子设备及存储介质。


背景技术:

2.应用运行于终端设备上,方便为用户提供更多的便捷服务。应用的性能会直接影响用户使用体验,如应用快速响应用户的操作,流畅无卡顿地处理各种任务,提供给用户较佳的使用体验;当应用在相当长的一段时间内没有响应用户的操作,用户的使用体验欠佳。
3.现有技术中,当应用在运行时若较长时间没有响应,终端设备的系统会弹出如图1所示的对话框,向用户提供退出此应用的选项。但这种方式会大大降低用户的应用使用体验。考虑到终端设备的系统碎片化严重,不同厂商的系统均各自定制,机型种类众多,无法在应用测试阶段发现可能会引起anr(application not response,应用程序无响应)的场景。因此,急需一种对应用性能进行监测,帮助发现anr场景的方法。


技术实现要素:

4.鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的应用性能监测方法、电子设备及存储介质。
5.根据本发明的一个方面,提供了一种应用性能监测方法,其包括:
6.应用启动后,构建监测子线程;
7.利用监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取监测任务执行结果;
8.判断监测任务执行结果是否符合性能监测条件;
9.若否,则采集应用主线程中执行的任务信息,以确定影响应用执行性能的影响因子。
10.根据本发明的另一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
11.存储器用于存放至少一可执行指令,可执行指令使处理器执行以下操作:
12.应用启动后,构建监测子线程;
13.利用监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取监测任务执行结果;
14.判断监测任务执行结果是否符合性能监测条件;
15.若否,则采集应用主线程中执行的任务信息,以确定影响应用执行性能的影响因子。
16.根据本发明的又一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行上述任一项的应用性能监测方法对应的操作。
17.根据本发明提供的应用性能监测方法、电子设备及存储介质,创建监测子线程,通
过对监测任务执行结果的判断,可以及时发现影响应用执行性能的影响因子,且不影响应用正常执行。
18.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
19.通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
20.图1示出了应用无响应对话框示意图;
21.图2示出了根据本发明一个实施例的应用性能监测方法的流程示意图;
22.图3示出了根据本发明另一个实施例的应用性能监测方法的流程示意图;
23.图4示出了根据本发明一个实施例的一种电子设备的结构示意图。
具体实施方式
24.实施例一
25.图2示出了根据本发明一个实施例的应用性能监测方法的流程示意图,如图2所示,该方法包括如下步骤:
26.步骤s201,应用启动后,构建监测子线程。
27.现有技术中安卓系统中包含printer对象,标记任务开始start和结束end。通过替换printer对象可以监测应用是否对用户的操作在一定时间内得到响应。但其缺点需依赖系统的源码,若安卓系统在升级后不开放替换printer对象,则无法实施以上方案。进一步,这种监测方式需要从printer对象中查找字符串,start和end进行匹配,字符串的处理属于比较耗时的处理,对应用本身性能会造成损耗。
28.本实施例主要应用于安卓系统的终端设备,当应用启动后,基于安卓底层任务处理机制,创建监测子线程。监测子线程的优先级低于应用主线程,当cpu空闲时处理监测子线程中的任务,不影响应用主线程的正常运行。
29.步骤s202,利用监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取监测任务执行结果。
30.监测任务用于监测应用是否卡顿,优选地,监测任务为处理器仅需简单操作的任务,其不影响应用正常执行,如监测任务为计数器重置任务,设置一个计数器,其值设置为非0,如设置计数器为1,监测任务为将计数器重置为0,该监测任务基本不会损耗应用性能。
31.利用监测子线程通过消息系统将监测任务发送给应用主线程来执行,同时,每间隔第一预设时间获取一次监测任务执行结果,以监测任务为计数器重置任务为例,即查看计数器是否为0,当计数器为0,说明监测任务执行完成;若计数器不为0,说明监测任务未执行完成。第一预设时间可以设置为5s,如在发送监测任务后,监测子线程休眠5s,再获取监测任务执行结果。
32.步骤s203,判断监测任务执行结果是否符合性能监测条件。
33.监测任务执行结果包括监测任务执行完成和监测任务未执行完成。性能监测条件用来判断应用执行性能的好坏。
34.当判断监测任务执行结果不符合性能监测条件,则说明当前应用执行性能较差,则执行步骤s204。具体的,判断在第一预设时间获取的监测任务执行结果是否为监测任务执行完成,若否,判断不符合性能监测条件,即监测任务执行结果为监测任务未执行完成,应用主线程在第一预设时间内仍未执行监测任务,说明在监测任务前存在其它任务一直执行,导致监测任务无法执行的情况,也就是说应用主线程存在任务卡顿的情况,应用执行性能较差,则执行步骤s204。若是,则判断符合性能监测条件;即监测任务执行结果为监测任务执行完成,应用主线程在第一预设时间内已经执行监测任务,应用主线程不存在任务卡顿等情况,应用执行性能良好。
35.步骤s204,采集应用主线程中执行的任务信息,以确定影响应用执行性能的影响因子。
36.当判断监测任务执行结果不符合性能监测条件时,即应用主线程中任务存在执行卡顿等问题,需要采集应用主线程中执行的任务信息,根据任务信息可以确定执行存在卡顿问题或执行时间过长的任务,从而确定影响应用执行性能的影响因子。
37.根据本发明提供的应用性能监测方法,创建监测子线程,通过对监测任务执行结果的判断,可以及时发现影响应用执行性能的影响因子,且不影响应用正常执行。
38.实施例二
39.图3示出了根据本发明另一个实施例的应用性能监测方法的流程示意图,如图3所示,该方法包括如下步骤:
40.步骤s301,应用启动后,构建监测子线程。
41.该步骤参照实施例一中步骤s201的描述,在此不再赘述。
42.步骤s302,获取监测配置信息。
43.监测任务的各种监测配置信息可以灵活设置,如通过插件升级方式更新监测配置信息,以适配不同的终端设备的系统;或者,由服务端动态下发监测配置信息,可以实现针对不同渠道,不同终端设备类型,不同用户下发不同的监测配置信息等。下发时可以以如文件方式下发,由监测子线程通过读取文件获取到监测配置信息,无需固定设置监测配置信息,方便针对性配置。
44.监测配置信息包括如第一预设时间、第二预设时间、第三预设时间等与监测任务相关的各种配置信息,还包括如监测开关状态。监测开关状态用于标记是否对应用性能进行监测,如当应用处于调试环境时,应用中存在人为设置的断点,其执行时与响应用户正常操作不同,存在延迟等情况,此时的延迟并非应用中任务执行卡顿造成,对应用进行监测得到的监测结果为错误的数据,无法获知准确的应用执行性能;或者,应用在终端设备后台运行时,此时应用在后台执行,执行性能用户无感知,无需对应用进行监测,可以暂停监测,待应用回到前台执行在继续监测。考虑存在以上种种无需监测的情况,通过设置监测开关状态,可以来设置是否对应用进行监测,以免监测得到错误信息。
45.监测开关状态可以实时修改,如当应用调整至后台运行时,由监测子线程修改监测开关状态为关闭状态,当应用调整至前台运行时,再修改监测开关状态为开启状态等,此处不做限定。
46.步骤s303,判断监测开关状态是否为开启状态。
47.当判断监测开关状态为开启状态时,即需要对应用执行性能进行监测时,执行步骤s304;若判断监测开关状态为关闭状态时,则无需对应用进行监测,可以等待当监测开关状态变化后,再对应用执行性能进行监测。
48.步骤s304,利用监测子线程将监测任务插入至应用主线程的任务列表,由应用主线程按照任务列表顺序依次执行各任务。
49.步骤s305,利用监测子线程每间隔第二预测时间获取监测任务执行结果,若监测任务未执行完成,累计当前任务执行时间,直至监测任务执行完成或当前任务执行时间达到第一预设时间。
50.利用监测子线程将监测任务插入至应用主线程的任务列表,任务列表中的各任务会按照任务列表中的顺序被应用主程序依次执行。如任务列表中包含任务a、任务b、任务c、任务d,按照顺序依次执行任务a、任务b、任务c、任务d,其中,在任务a执行完成后,调用启动任务b的执行;任务b执行完成后,调用启动任务c的执行
……
51.监测任务根据任务列表的顺序排队,等待应用主线程依次执行各任务,当监测任务前排队的任务较多时,监测任务需要等待排队在前的任务均执行完成后才执行,若排队在前的任务累计执行时间之和达到第一预设时间,但每个任务的执行时间未达到第一预设时间,如任务c为监测任务,任务a执行3s,任务b执行2s,第一预设时间为5s,监测子线程在第一预设时间5s获取监测任务c执行结果为未执行完成,直接根据监测任务未执行完成确定任务b执行存在卡顿会导致记录错误。因此,本实施例利用监测子线程每间隔第二预测时间获取一次监测任务执行结果,如第二预设时间为1s,每间隔1s获取一次监测任务执行结果,然后监测子线程休眠,再下一个1s再获取一次监测任务执行结果,若监测任务未执行完成,累计当前任务执行时间,如第1秒获取监测任务c未执行完成,累计当前任务a执行时间为1s,第2秒获取监测任务c未执行完成,累计当前任务a执行时间为2s,第3秒获取监测任务c未执行完成,累计当前任务a执行时间为3s,第4秒获取监测任务c未执行完成,累计当前任务b执行时间为1s,第5秒获取监测任务c未执行完成,累计当前任务b执行时间为2s,第6秒获取监测任务c执行完成,获取到监测任务执行完成为止。或者,如第1秒获取监测任务c未执行完成,累计当前任务a执行时间为1s,第2秒获取监测任务c未执行完成,累计当前任务a执行时间为2s,第3秒获取监测任务c未执行完成,累计当前任务a执行时间为3s,第4秒获取监测任务c未执行完成,累计当前任务a执行时间为4s,第5秒获取监测任务c未执行完成,累计当前任务a执行时间为5s,当前任务执行时间达到第一预设时间,停止获取监测任务执行结果。
52.步骤s306,判断当前任务执行时间是否达到第一预设时间。
53.判断累计的当前任务执行时间是否达到第一预设时间,当当前任务执行时间为多个时,判断多个当前任务执行时间中是否有达到第一预设时间的情况,若是,则说明某个任务其执行时间已经达到第一预设时间,该任务执行卡顿导致监测任务未执行完成,判断不符合性能监测条件,执行步骤s307。若否,即每个当前任务执行时间均未达到第一预设时间,监测任务未执行完成或完成不是由于单个任务卡顿导致,则判断符合性能监测条件,应用执行性能良好。如当前任务a执行时间为3s,当前任务b执行时间为2s,两个执行时间均为达到第一预设时间5s,虽然监测任务此时还未执行完成,但不是由于某个任务执行卡顿造
成。
54.步骤s307,采集应用主线程的方法栈中包含的任务信息,确定任务信息为影响应用执行性能的影响因子。
55.采集应用主线程的方法栈中包含的任务信息,可以基于方法栈确定当前的任务信息为影响应用执行性能的影响因子,如当前任务a执行时间为5s,达到第一预设时间,直接从方法栈中获取到当前任务a的任务名称,确定任务a为影响应用执行性能的影响因子。
56.进一步,影响因子除任务名称外,还可以采集任务执行时相关的各信息,任务执行的载体终端设备的各种信息(如cpu、内存、存储空间等),应用自身的版本信息等。
57.可选地,本实施例还包括如下步骤:
58.步骤s308,触发日志记录处理,记录并上报影响因子。
59.当确定存在影响应用执行性能的影响因子后,触发日志记录处理,对应的记录下影响因子,如任务名称、任务执行时间、终端设备信息、应用信息等,上报给服务器或存储至数据库中,以便根据影响因子定位应用中存在的问题,来解决问题,改善应用执行性能。
60.进一步,为避免直接上报时与服务器等连接响应慢、连接失败等问题导致日志记录数据丢失等问题,当触发日志记录处理时,可以先在本地日志记录影响因子,应用因应用无响应关闭再次启动后,再上传本地日志,保障数据传输安全。
61.进一步,上传的日志记录可以帮助如开发人员通过查询日志记录数据来定位问题、修复问题,再通过如插件升级或者版本升级等方式解决应用中存在的应用无响应问题,提高用户使用体验。
62.根据本发明提供的应用性能监测方法,监测子线程每间隔第二预测时间获取监测任务执行结果,通过累计当前任务执行时间来判断是否符合性能监测条件,可以基于每个任务的执行时间进行判断,大大减少误判,也避免了错误日志记录的上报。进一步,日志记录的上报可以帮助快速定位应用中存在的问题,及时发现问题修复问题,提升用户对应用的使用体验。
63.实施例三
64.本技术实施例三提供了一种非易失性计算机存储介质,计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的应用性能监测方法。
65.可执行指令具体可以用于使得处理器执行以下操作:应用启动后,构建监测子线程;利用所述监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取所述监测任务执行结果;判断所述监测任务执行结果是否符合性能监测条件;若否,则采集所述应用主线程中执行的任务信息,以确定影响应用执行性能的影响因子。
66.在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:判断所述第一预设时间获取的监测任务执行结果是否为监测任务执行完成;若否,则判断不符合性能监测条件。
67.在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:利用所述监测子线程将监测任务插入至应用主线程的任务列表,由所述应用主线程按照任务列表顺序依次执行各任务;利用所述监测子线程每间隔第二预测时间获取所述监测任务执行结果,若所述监测任务未执行完成,累计当前任务执行时间,直至监测任务执行完成或当前任
务执行时间达到第一预设时间。
68.在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:判断所述当前任务执行时间是否达到第一预设时间;若是,判断所述监测任务执行结果不符合性能监测条件。
69.在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:若判断所述监测任务执行结果符合性能监测条件,则利用所述监测子线程按照第三预设时间重复发送监测任务以实时监测应用性能。
70.在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:采集所述应用主线程的电子设备栈中包含的任务信息,确定所述任务信息为影响应用执行性能的影响因子。
71.在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:触发日志记录处理,记录并上报所述影响因子。
72.在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:触发日志记录处理,在本地日志记录所述影响因子;应用启动后,上传本地日志。
73.在一种可选的实施方式中,所述监测任务为计数器重置任务。
74.在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:获取监测配置信息,所述监测配置信息包括第一预设时间、第二预设时间、第三预设时间和/或监测开关状态;判断所述监测开关状态是否为开启状态;若是,利用所述监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取所述监测任务执行结果。
75.实施例四
76.图4示出了根据本发明实施例四的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
77.如图4所示,该电子设备可以包括:处理器(processor)402、通信接口(communications interface)404、存储器(memory)406、以及通信总线408。
78.其中:
79.处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
80.通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
81.处理器402,用于执行程序410,具体可以执行上述应用性能监测方法实施例中的相关步骤。
82.具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
83.处理器402可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务器包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
84.存储器406,用于存放程序410。存储器406可能包含高速ram存储器,也可能还包括非易失性存储器(non

volatile memory),例如至少一个磁盘存储器。
85.程序410具体可以用于使得处理器402执行以下操作:应用启动后,构建监测子线程;利用所述监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取所述监测任务执行结果;判断所述监测任务执行结果是否符合性能监测条件;若否,则采集所
述应用主线程中执行的任务信息,以确定影响应用执行性能的影响因子。
86.在一种可选的实施方式中,程序410用于使得处理器402判断所述第一预设时间获取的监测任务执行结果是否为监测任务执行完成;若否,则判断不符合性能监测条件。
87.在一种可选的实施方式中,程序410用于使得处理器402利用所述监测子线程将监测任务插入至应用主线程的任务列表,由所述应用主线程按照任务列表顺序依次执行各任务;利用所述监测子线程每间隔第二预测时间获取所述监测任务执行结果,若所述监测任务未执行完成,累计当前任务执行时间,直至监测任务执行完成或当前任务执行时间达到第一预设时间。
88.在一种可选的实施方式中,程序410用于使得处理器402判断所述当前任务执行时间是否达到第一预设时间;若是,判断所述监测任务执行结果不符合性能监测条件。
89.在一种可选的实施方式中,程序410用于使得处理器402若判断所述监测任务执行结果符合性能监测条件,则利用所述监测子线程按照第三预设时间重复发送监测任务以实时监测应用性能。
90.在一种可选的实施方式中,程序410用于使得处理器402采集所述应用主线程的电子设备栈中包含的任务信息,确定所述任务信息为影响应用执行性能的影响因子。
91.在一种可选的实施方式中,程序410用于使得处理器402触发日志记录处理,记录并上报所述影响因子。
92.在一种可选的实施方式中,程序410用于使得处理器402触发日志记录处理,在本地日志记录所述影响因子;应用启动后,上传本地日志。
93.在一种可选的实施方式中,所述监测任务为计数器重置任务。
94.在一种可选的实施方式中,程序410用于使得处理器402获取监测配置信息,所述监测配置信息包括第一预设时间、第二预设时间、第三预设时间和/或监测开关状态;判断所述监测开关状态是否为开启状态;若是,利用所述监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取所述监测任务执行结果。
95.程序410中各步骤的具体实现可以参见上述应用性能监测实施例中的相应步骤中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
96.通过本实施例提供的方案,创建监测子线程,通过对监测任务执行结果的判断,可以及时发现影响应用执行性能的影响因子,且不影响应用正常执行。
97.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
98.类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为
本发明的单独实施例。
99.本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
100.此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
101.应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
102.本发明公开了:a1.一种应用性能监测方法,其包括:
103.应用启动后,构建监测子线程;
104.利用所述监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取所述监测任务执行结果;
105.判断所述监测任务执行结果是否符合性能监测条件;
106.若否,则采集所述应用主线程中执行的任务信息,以确定影响应用执行性能的影响因子。
107.a2.根据a1所述的方法,其中,所述判断所述监测任务执行结果是否符合性能监测条件进一步包括:
108.判断所述第一预设时间获取的监测任务执行结果是否为监测任务执行完成;
109.若否,则判断不符合性能监测条件。
110.a3.根据a1所述的方法,其中,所述利用所述监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取所述监测任务执行结果进一步包括:
111.利用所述监测子线程将监测任务插入至应用主线程的任务列表,由所述应用主线程按照任务列表顺序依次执行各任务;
112.利用所述监测子线程每间隔第二预测时间获取所述监测任务执行结果,若所述监测任务未执行完成,累计当前任务执行时间,直至监测任务执行完成或当前任务执行时间达到第一预设时间。
113.a4.根据a3所述的方法,其中,所述判断所述监测任务执行结果是否符合性能监测条件进一步包括:
114.判断所述当前任务执行时间是否达到第一预设时间;
115.若是,判断所述监测任务执行结果不符合性能监测条件。
116.a5.根据a1

a4中任一项所述的方法,其中,所述方法还包括:
117.若判断所述监测任务执行结果符合性能监测条件,则利用所述监测子线程按照第三预设时间重复发送监测任务以实时监测应用性能。
118.a6.根据a1所述的方法,其中,所述采集所述应用主线程中执行的任务信息,以确定影响应用执行性能的影响因子进一步包括:
119.采集所述应用主线程的方法栈中包含的任务信息,确定所述任务信息为影响应用执行性能的影响因子。
120.a7.根据a1

a6中任一项所述的方法,其中,所述方法还包括:
121.触发日志记录处理,记录并上报所述影响因子。
122.a8.根据a7所述的方法,其中,所述触发日志记录处理,记录并上报所述影响因子进一步包括:
123.触发日志记录处理,在本地日志记录所述影响因子;
124.应用启动后,上传本地日志。
125.a9.根据a1

a8中任一项所述的方法,其中,所述监测任务为计数器重置任务。
126.a10.根据a1

a9中任一项所述的方法,其中,在所述利用所述监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取所述监测任务执行结果之前,所述方法还包括:
127.获取监测配置信息,所述监测配置信息包括第一预设时间、第二预设时间、第三预设时间和/或监测开关状态;
128.判断所述监测开关状态是否为开启状态;
129.若是,利用所述监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取所述监测任务执行结果。
130.本发明还公开了:b11.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
131.所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下操作:
132.应用启动后,构建监测子线程;
133.利用所述监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取所述监测任务执行结果;
134.判断所述监测任务执行结果是否符合性能监测条件;
135.若否,则采集所述应用主线程中执行的任务信息,以确定影响应用执行性能的影响因子。
136.b12.根据b11所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
137.判断所述第一预设时间获取的监测任务执行结果是否为监测任务执行完成;
138.若否,则判断不符合性能监测条件。
139.b13.根据b11所述的电子设备,所述可执行指令进一步使所述处理器执行以下操
作:
140.利用所述监测子线程将监测任务插入至应用主线程的任务列表,由所述应用主线程按照任务列表顺序依次执行各任务;
141.利用所述监测子线程每间隔第二预测时间获取所述监测任务执行结果,若所述监测任务未执行完成,累计当前任务执行时间,直至监测任务执行完成或当前任务执行时间达到第一预设时间。
142.b14.根据b13所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
143.判断所述当前任务执行时间是否达到第一预设时间;
144.若是,判断所述监测任务执行结果不符合性能监测条件。
145.b15.根据b11

b14中任一项所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
146.若判断所述监测任务执行结果符合性能监测条件,则利用所述监测子线程按照第三预设时间重复发送监测任务以实时监测应用性能。
147.b16.根据b11所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
148.采集所述应用主线程的电子设备栈中包含的任务信息,确定所述任务信息为影响应用执行性能的影响因子。
149.b17.根据b11

b16中任一项所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
150.触发日志记录处理,记录并上报所述影响因子。
151.b18.根据b17所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
152.触发日志记录处理,在本地日志记录所述影响因子;
153.应用启动后,上传本地日志。
154.b19.根据b11

b18中任一项所述的电子设备,所述监测任务为计数器重置任务。
155.b20.根据b11

b19中任一项所述的电子设备,所述可执行指令进一步使所述处理器执行以下操作:
156.获取监测配置信息,所述监测配置信息包括第一预设时间、第二预设时间、第三预设时间和/或监测开关状态;
157.判断所述监测开关状态是否为开启状态;
158.若是,利用所述监测子线程将监测任务发送给应用主线程执行,并按照第一预设时间获取所述监测任务执行结果。
159.本发明还公开了:c21.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如a1

a10中任一项所述的应用性能监测方法对应的操作。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献