CN111444057A - 页面性能数据采集方法、装置及计算设备 - Google Patents
页面性能数据采集方法、装置及计算设备 Download PDFInfo
- Publication number
- CN111444057A CN111444057A CN201811623561.1A CN201811623561A CN111444057A CN 111444057 A CN111444057 A CN 111444057A CN 201811623561 A CN201811623561 A CN 201811623561A CN 111444057 A CN111444057 A CN 111444057A
- Authority
- CN
- China
- Prior art keywords
- page
- performance data
- webview
- monitored
- page 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/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- 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/3409—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 for performance assessment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种页面性能数据采集方法、装置及计算设备,其中,方法包括:解析切面文件,利用切入器将监听程序织入至webview的页面加载结束方法中,实现在所述页面加载结束方法中注册JS监听;当webview加载页面结束时,获取JS回调返回的页面性能数据;将所述页面性能数据存储至指定数据库中。本发明方案,利用切入器将监听程序织入至webview的页面加载结束方法中,无需数据需求方手动写入监听程序,可见,本发明方案可在需求方无感知的情况下实现对页面性能数据的采集。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种页面性能数据采集方法、装置及计算设备。
背景技术
随着移动终端技术的发展,大量的生活、娱乐以及服务等类型的终端应用不断涌现。现有的终端应用基本采用Android系统原生和H5页面结合的方式来实现页面的展现。与此同时,随着业务功能的复杂化,页面也相应的复杂,此时则容易出现页面加载慢的问题,这种问题通常是用户无法接受的。
现有技术中,为了明确导致页面加载慢的具体原因,通常是由需求方手动向Android原生方法中写入监听代码,来监听页面加载数据,然后借助这些数据检测出页面加载慢的具体原因。显然,现有技术中的页面加载数据的采集方式,必须由需求方手动写入监听代码来实现,对于需求方而言,实现难度大。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的页面性能数据采集方法、装置及计算设备。
根据本发明的一个方面,提供了一种页面性能数据采集方法,包括:
解析切面文件,利用切入器将监听程序织入至webview的页面加载结束方法中,实现在所述页面加载结束方法中注册JS监听;
当webview加载页面结束时,获取JS回调返回的页面性能数据;
将所述页面性能数据存储至指定数据库中。
根据本发明的另一方面,提供了一种页面性能数据采集装置,包括:
监听模块,适于解析切面文件,利用切入器将监听程序织入至webview的页面加载结束装置中,实现在所述页面加载结束装置中注册JS监听;
回调模块,适于当webview加载页面结束时,获取JS回调返回的页面性能数据;
存储模块,适于将所述页面性能数据存储至指定数据库中。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述页面性能数据采集方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述页面性能数据采集方法对应的操作。
根据本发明的页面性能数据采集方法、装置及计算设备,通过对切面文件进行解析,并利用切入器将监听程序织入至webview的页面加载结束方法中,以通过织入的监听程序实现对加载页面过程中的页面性能数据的监听;然后获取JS回调返回的页面性能数据并存储至指定数据库中,以便进行性能分析。由此可见,相较于数据需求方手动写入代码并进行监听的方式,本发明方案中,通过切入器将监听程序织入至webview的页面加载结束方法中,无需数据需求方编写代码、确定具体的切入点并插入监听,可以在数据需求方无感知的情况下实现页面性能数据的采集。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的页面性能数据采集方法的流程图;
图2示出了根据本发明另一个实施例的页面性能数据采集方法的流程图;
图3示出了根据本发明一个实施例的页面性能数据采集装置的功能框图;
图4示出了根据本发明实施例的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的页面性能数据采集方法的流程图。如图1所示,该方法包括:
步骤S101:解析切面文件,利用切入器将监听程序织入至webview的页面加载结束方法中,实现在页面加载结束方法中注册JS监听。
具体地,在实施本发明方案之前,完成切面文件的编写;该切面文件中包含有切入路径、切入点、和/或监听程序,其中切入路径为页面加载结束方法所对应的路径。以及,在存在页面性能数据采集的需求时,接入实现本发明方案的SDK,该SDK中包括切面文件;通过解析切面文件,确定相应的切入路径和切入点,然后利用切入器将监听程序织入至该切入路径下的切入点中,即可在页面加载结束方法中注册JS监听。
需要在此说明的是,本发明中不限定切入器的具体存在形式,具体实施时,本领域技术人员可根据实际条件选择可向源码中插入程序的工具作为切入器。可选的,切入器为AspectJ。
步骤S102:当webview加载页面结束时,获取JS回调返回的页面性能数据。
其中,JS回调的位置为切入点的位置。
具体地,当执行到页面加载结束方法中的切入点时,JS回调就会收到相应的通知,该通知即为返回的页面性能数据。相应的,当webview加载页面结束时,针对各个切入点,监听程序会采集到相应的页面性能数据。其中,页面性能数据指反映页面加载过程中一个或多个资源的加载时间的数据。
步骤S103:将页面性能数据存储至指定数据库中。
其中,指定数据库通常由数据需求方进行指定。可选的,数据需求方为应用提供方。
在获取到页面性能数据后,存储至指定数据库中以便于分析页面加载慢的原因。
根据本实施例提供的页面性能数据采集方法,通过对切面文件进行解析,并利用切入器将监听程序织入至webview的页面加载结束方法中,以通过织入的监听程序实现对加载页面过程中的页面性能数据的监听;然后获取JS回调返回的页面性能数据并存储至指定数据库中,以便进行性能分析。由此可见,相较于数据需求方手动写入代码并进行监听的方式,本实施例方案中,当应用接入实现本方案的SDK后,通过切入器将监听程序织入至webview的页面加载结束方法中,无需数据需求方编写代码、确定具体的切入点并插入监听,可以在数据需求方无感知的情况下实现页面性能数据的采集。
图2示出了根据本发明另一个实施例的页面性能数据采集方法的流程图。如图2所示,该方法包括:
步骤S201:解析切面文件,利用切入器将监听程序织入至webview的页面加载结束方法中,实现在页面加载结束方法中注册JS监听。
具体地,解析切面文件,获取待监听的webview以及至少一个切入点,其中,待监听的webview即当前需采集页面性能数据的webview,以及至少一个切入点为页面加载结束方法中监听程序织入的位置,该至少一个切入点可根据待监听的webview中各个资源加载结束时对应的代码进行确定。获取待监听的webview对应的源码文件,织入监听程序的过程在编译阶段完成,则需获取待监听的webview对应的源码文件以进行重写及编译。利用切入器将监听程序织入至待监听的webview的页面加载结束方法的与至少一个切入点对应的位置,完成对待监听的webview的页面加载结束方法的重写,其中,切入器也可视为编译器,该切入器通过识别切面文件中指定的切入点,该切入点反映出监听的特定类、特定方法和/或特定字段;相应的,将监听程序织入至源码文件中对应该切入点的位置,完成对页面加载结束方法的重写,切入点中织入的监听程序可用于对相应的页面性能数据的采集。将经过重写的待监听的webview对应的源码文件存储到指定目录下,其中,指定目录为页面加载结束方法对应的存储路径,以确保在页面加载过程中,页面加载结束方法以及监听程序的正常执行,进而采集到相应的页面性能数据。
进一步的,不同系统版本,采集得到相应的页面性能数据的切入点存在区别,基于此,编写对应各个系统版本的切面文件,以便于在进行页面性能数据采集时,利用对应当前系统版本的切面文件进行源代码的重写,进而提高采集结果的准确性。相应的,在进行切面文件的解析之前,获取多个针对不同系统版本的切面文件,识别与待监听的webview的系统版本相匹配的切面文件。其中,各大厂商在实际应用Android原生系统中,为了适应不同的需求,通常会对Android原生系统进行一定的修改,则会出现不同的改进的系统版本,此时,针对多种系统版本,若仅靠数据需求方通过手动写代码的方式来实现页面性能数据的采集,则调整的难度较大,其将带来修改成本高或采集结果不准确的问题。而在本实施例中,将多个针对不同系统版本的切面文件均置入实施本发明方案的SDK中,并通过主动匹配的方式准确确定相应的切面文件,则可以在接入该SDK后,无需数据需求方的参与,而采集到准确的页面性能数据。并且,解析切面文件即解析相匹配的切面文件。
举例来说,对应3各系统版本A、B以及C,分别写3套切面文件a、b以及c。若待监听的webview的系统版本为B,则滤除掉切面文件a和c,而仅解析切面文件b。
另外,在本实施例中,页面加载结束方法包括反映全部页面资源加载结束的方法,和/或,反映单位页面资源加载结束的方法。可选的,页面加载结束方法为onPageFinished方法。
步骤S202:当webview加载页面结束时,获取JS回调返回的页面性能数据。
其中,页面性能数据是webview加载过程中产生的,例如,页面性能数据为所有页面资源加载完成所需的时间,或者页面性能数据为白屏的时间。
具体地,每当webview加载一个页面成功之后,或者是加载结束之后,JS回调就会收到一个响应,并在收到这个响应之后会传过来一个json串,而这个json串中的数据即为整个webview的页面性能数据。
步骤S203:对页面性能数据进行分析,根据分析结果对页面性能数据进行去重处理。
厂商对webview client等安卓原生的组件进行修改,以实现扩展功能的操作,极可能会造成页面加载结束方法被执行多次,例如,onPageFinished()方法执行了多次,此时接收到的回调返回的页面性能数据则可能存在重复。基于此,对页面性能数据进行去重处理。
具体地,在JS回调返回的json串中,仅采集页面进度加载至100%时的数据作为webview的页面性能数据,则可以避免页面性能数据的重复。进一步的,在页面进度加载至100%之后,则会收到JS回调返回的json串,为该次回调进行标记,例如添加布尔值变量;在此后执行回调时,则根据布尔值变量,确定是否需要执行采集操作,例如,当针对上述100%进度再次执行回调时,则不再做任何操作,进而进一步避免了页面性能数据采重。
步骤S204:将页面性能数据存储至指定数据库中。
具体地,将页面性能数据分发给dispatchToAopWebTrace方法,即将json串中的数据分发给dispatchToAopWebTrace方法;然后,执行dispatchToAopWebTrace方法将页面性能数据存储至指定数据库中,可选的,在特定时机将数据库中的数据时机上传至云端,进行大数据的分析。
在一些可选的实施例中,在执行步骤S204之前,首先对监听到的页面性能数据进行筛选,部分监听到的页面性能数据并不能有效的用于分析页面加载慢的原因,则可对该部分页面性能数据进行剔除,以节省存储空间。
下面列出一个具体实施例中的核心代码内容,以辅助本领域技术人员理解本实施例的具体实现过程:
根据本实施例提供的页面性能数据采集方法,编写对应多个不同系统版本的切面文件,在将监听程序织入页面加载结束方法中时,通过系统版本的匹配,识别出对应当前的webview的系统版本的切面文件,并根据该切面文件注册监听,有利于准确监听到该相应系统的页面性能数据;以及,利用切面器对切面文件中的切入点进行识别,并自动将监听程序织入webview的页面加载结束方法中,实现在页面加载结束方法中注册JS监听,无需数据需求方编写代码、确定具体的切入点并插入监听,可以在数据需求方无感知的情况下实现页面性能数据的采集。由此可见,本实施例方案,借助切入器实现对代码的织入,避免了需求方的手动配置,对需求方来说只需要接入SDK,其他的都不用关心,即可采集到相应的H5页面性能数据。
图3示出了根据本发明一个实施例的页面性能数据采集装置的功能框图。如图3所示,该装置包括:
监听模块301,适于解析切面文件,利用切入器将监听程序织入至webview的页面加载结束装置中,实现在所述页面加载结束装置中注册JS监听;
回调模块302,适于当webview加载页面结束时,获取JS回调返回的页面性能数据;
存储模块303,适于将所述页面性能数据存储至指定数据库中。
在一种可选的实施方式中,述监听模块301进一步适于:
解析切面文件,获取待监听的webview以及至少一个切入点;
获取所述待监听的webview对应的源码文件;
利用切入器将监听程序织入至所述待监听的webview的页面加载结束装置的与所述至少一个切入点对应的位置,完成对所述待监听的webview的页面加载结束装置的重写;
将经过重写的所述待监听的webview对应的源码文件存储到指定目录下。
在一种可选的实施方式中,所述监听模块301进一步适于:
获取多个针对不同系统版本的切面文件,识别与待监听的webview的系统版本相匹配的切面文件;
解析所述相匹配的切面文件。
在一种可选的实施方式中,所述装置还包括:
去重模块304,适于对所述页面性能数据进行分析,根据分析结果对页面性能数据进行去重处理。
在一种可选的实施方式中,所述页面加载结束方法为onPageFinished方法。
在一种可选的实施方式中,所述存储模块303进一步适于:将所述页面性能数据分发给dispatchToAopWebTrace方法,执行所述dispatchToAopWebTrace方法将所述页面性能数据存储至指定数据库中。
本申请实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的页面性能数据采集方法。
图4示出了根据本发明实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图4所示,该计算设备可以包括:处理器(processor)402、通信接口(Communications Interface)404、存储器(memory)406、以及通信总线408。
其中:
处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
通信接口404,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器402,用于执行程序410,具体可以执行上述页面性能数据采集方法实施例中的相关步骤。
具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
处理器402可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器406,用于存放程序410。存储器406可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序410具体可以用于使得处理器402执行以下操作:
解析切面文件,利用切入器将监听程序织入至webview的页面加载结束方法中,实现在所述页面加载结束方法中注册JS监听;
当webview加载页面结束时,获取JS回调返回的页面性能数据;
将所述页面性能数据存储至指定数据库中。
在一中可选的实施方式中,程序410具体可以用于进一步使得处理器402执行以下操作:
解析切面文件,获取待监听的webview以及至少一个切入点;
获取所述待监听的webview对应的源码文件;
利用切入器将监听程序织入至所述待监听的webview的页面加载结束方法的与所述至少一个切入点对应的位置,完成对所述待监听的webview的页面加载结束方法的重写;
将经过重写的所述待监听的webview对应的源码文件存储到指定目录下。
在一中可选的实施方式中,程序410具体可以用于进一步使得处理器402执行以下操作:
获取多个针对不同系统版本的切面文件,识别与待监听的webview的系统版本相匹配的切面文件;
解析所述相匹配的切面文件。
在一中可选的实施方式中,程序410具体可以用于进一步使得处理器402执行以下操作:
对所述页面性能数据进行分析,根据分析结果对页面性能数据进行去重处理。
在一中可选的实施方式中,所述页面加载结束方法为onPageFinished方法。
在一中可选的实施方式中,程序410具体可以用于进一步使得处理器402执行以下操作:将所述页面性能数据分发给dispatchToAopWebTrace方法,执行所述dispatchToAopWebTrace方法将所述页面性能数据存储至指定数据库中。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的页面性能数据采集装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:A1.一种页面性能数据采集方法,包括:
解析切面文件,利用切入器将监听程序织入至webview的页面加载结束方法中,实现在所述页面加载结束方法中注册JS监听;
当webview加载页面结束时,获取JS回调返回的页面性能数据;
将所述页面性能数据存储至指定数据库中。
A2.根据A1所述的方法,其中,所述解析切面文件,利用切入器将监听程序织入至webview的页面加载结束方法中进一步包括:
解析切面文件,获取待监听的webview以及至少一个切入点;
获取所述待监听的webview对应的源码文件;
利用切入器将监听程序织入至所述待监听的webview的页面加载结束方法的与所述至少一个切入点对应的位置,完成对所述待监听的webview的页面加载结束方法的重写;
将经过重写的所述待监听的webview对应的源码文件存储到指定目录下。
A3.根据A1或A2所述的方法,其中,所述解析切面文件进一步包括:
获取多个针对不同系统版本的切面文件,识别与待监听的webview的系统版本相匹配的切面文件;
解析所述相匹配的切面文件。
A4.根据A1所述的方法,其中,在所述获取JS回调返回的页面性能数据之后,所述方法还包括:
对所述页面性能数据进行分析,根据分析结果对页面性能数据进行去重处理。
A5.根据A1-A4中任一项所述的方法,其中,所述页面加载结束方法为onPageFinished方法。
A6.根据A1-A5中任一项所述的方法,其中,所述将所述页面性能数据存储至指定数据库中进一步包括:将所述页面性能数据分发给dispatchToAopWebTrace方法,执行所述dispatchToAopWebTrace方法将所述页面性能数据存储至指定数据库中。
本发明还公开了:B7.一种页面性能数据采集装置,包括:
监听模块,适于解析切面文件,利用切入器将监听程序织入至webview的页面加载结束装置中,实现在所述页面加载结束装置中注册JS监听;
回调模块,适于当webview加载页面结束时,获取JS回调返回的页面性能数据;
存储模块,适于将所述页面性能数据存储至指定数据库中。
B8.根据B7所述的装置,其中,所述监听模块进一步适于:
解析切面文件,获取待监听的webview以及至少一个切入点;
获取所述待监听的webview对应的源码文件;
利用切入器将监听程序织入至所述待监听的webview的页面加载结束装置的与所述至少一个切入点对应的位置,完成对所述待监听的webview的页面加载结束装置的重写;
将经过重写的所述待监听的webview对应的源码文件存储到指定目录下。
B9.根据B7或B8所述的装置,其中,所述监听模块进一步适于:
获取多个针对不同系统版本的切面文件,识别与待监听的webview的系统版本相匹配的切面文件;
解析所述相匹配的切面文件。
B10.根据B7所述的装置,其中,所述装置还包括:
去重模块,适于对所述页面性能数据进行分析,根据分析结果对页面性能数据进行去重处理。
B11.根据B7-B10中任一项所述的装置,其中,所述页面加载结束方法为onPageFinished方法。
B12.根据B7-B11中任一项所述的装置,其中,所述存储模块进一步适于:将所述页面性能数据分发给dispatchToAopWebTrace方法,执行所述dispatchToAopWebTrace方法将所述页面性能数据存储至指定数据库中。
本发明还公开了:C13.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如A1-A6中任一项所述的页面性能数据采集方法对应的操作。
本发明还公开了:D14.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如A1-A6中任一项所述的页面性能数据采集方法对应的操作。
Claims (10)
1.一种页面性能数据采集方法,包括:
解析切面文件,利用切入器将监听程序织入至webview的页面加载结束方法中,实现在所述页面加载结束方法中注册JS监听;
当webview加载页面结束时,获取JS回调返回的页面性能数据;
将所述页面性能数据存储至指定数据库中。
2.根据权利要求1所述的方法,其中,所述解析切面文件,利用切入器将监听程序织入至webview的页面加载结束方法中进一步包括:
解析切面文件,获取待监听的webview以及至少一个切入点;
获取所述待监听的webview对应的源码文件;
利用切入器将监听程序织入至所述待监听的webview的页面加载结束方法的与所述至少一个切入点对应的位置,完成对所述待监听的webview的页面加载结束方法的重写;
将经过重写的所述待监听的webview对应的源码文件存储到指定目录下。
3.根据权利要求1或2所述的方法,其中,所述解析切面文件进一步包括:
获取多个针对不同系统版本的切面文件,识别与待监听的webview的系统版本相匹配的切面文件;
解析所述相匹配的切面文件。
4.根据权利要求1所述的方法,其中,在所述获取JS回调返回的页面性能数据之后,所述方法还包括:
对所述页面性能数据进行分析,根据分析结果对页面性能数据进行去重处理。
5.根据权利要求1-4中任一项所述的方法,其中,所述页面加载结束方法为onPageFinished方法。
6.根据权利要求1-5中任一项所述的方法,其中,所述将所述页面性能数据存储至指定数据库中进一步包括:将所述页面性能数据分发给dispatchToAopWebTrace方法,执行所述dispatchToAopWebTrace方法将所述页面性能数据存储至指定数据库中。
7.一种页面性能数据采集装置,包括:
监听模块,适于解析切面文件,利用切入器将监听程序织入至webview的页面加载结束装置中,实现在所述页面加载结束装置中注册JS监听;
回调模块,适于当webview加载页面结束时,获取JS回调返回的页面性能数据;
存储模块,适于将所述页面性能数据存储至指定数据库中。
8.根据权利要求7所述的装置,其中,所述监听模块进一步适于:
解析切面文件,获取待监听的webview以及至少一个切入点;
获取所述待监听的webview对应的源码文件;
利用切入器将监听程序织入至所述待监听的webview的页面加载结束装置的与所述至少一个切入点对应的位置,完成对所述待监听的webview的页面加载结束装置的重写;
将经过重写的所述待监听的webview对应的源码文件存储到指定目录下。
9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的页面性能数据采集方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-6中任一项所述的页面性能数据采集方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811623561.1A CN111444057A (zh) | 2018-12-28 | 2018-12-28 | 页面性能数据采集方法、装置及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811623561.1A CN111444057A (zh) | 2018-12-28 | 2018-12-28 | 页面性能数据采集方法、装置及计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111444057A true CN111444057A (zh) | 2020-07-24 |
Family
ID=71648427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811623561.1A Pending CN111444057A (zh) | 2018-12-28 | 2018-12-28 | 页面性能数据采集方法、装置及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111444057A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099965A (zh) * | 2020-08-07 | 2020-12-18 | 咪咕文化科技有限公司 | 原生应用调用js的方法、装置、电子设备及存储介质 |
-
2018
- 2018-12-28 CN CN201811623561.1A patent/CN111444057A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112099965A (zh) * | 2020-08-07 | 2020-12-18 | 咪咕文化科技有限公司 | 原生应用调用js的方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109976761B (zh) | 软件开发工具包的生成方法、装置及终端设备 | |
CN108459964B (zh) | 测试用例选择方法、装置、设备以及计算机可读存储介质 | |
CN109271359B (zh) | 日志信息处理方法、装置、电子设备及可读存储介质 | |
CN110580189A (zh) | 生成前端页面的方法、装置、计算机设备以及存储介质 | |
CN107784230B (zh) | 页面漏洞的修复方法及装置 | |
CN111274512A (zh) | 一种页面加载方法、装置及介质 | |
CN111782490A (zh) | 数据采集方法及装置 | |
CN112729868A (zh) | 一种车辆诊断方法、装置、设备及介质 | |
CN109992511B (zh) | 获取代码测试覆盖率的装置及方法 | |
CN109828759B (zh) | 代码编译方法、装置、计算机装置及存储介质 | |
CN108595178B (zh) | 一种基于hook的数据采集方法、装置及设备 | |
CN113885971A (zh) | 一种基于自适应平台系统的状态管理方法及装置 | |
CN111444057A (zh) | 页面性能数据采集方法、装置及计算设备 | |
CN113760242A (zh) | 一种数据处理方法、装置、服务器和介质 | |
CN110188083B (zh) | 接口信息挖掘方法及装置 | |
CN111367519B (zh) | 页面零件化使用方法、装置、计算设备及计算机存储介质 | |
CN110968500A (zh) | 一种测试用例的执行方法及装置 | |
CN111090578B (zh) | 工程开发联调方法、装置、计算机设备及存储介质 | |
CN109408063B (zh) | 基于虚拟机的指令插桩方法及装置 | |
CN110347471B (zh) | 层级式显示组件系统、显示组件调用方法和装置 | |
CN113254350A (zh) | 一种Flink作业测试方法、装置、设备及存储介质 | |
CN111273940B (zh) | 将程序文件上传至代码仓库的方法及装置 | |
CN113806231A (zh) | 一种代码覆盖率分析方法、装置、设备和介质 | |
US9477448B2 (en) | Screen-oriented computing program refactoring | |
CN113297149A (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 |