CN111177605B - 单页面的加载性能监控方法、装置及相关设备 - Google Patents
单页面的加载性能监控方法、装置及相关设备 Download PDFInfo
- Publication number
- CN111177605B CN111177605B CN201911329469.9A CN201911329469A CN111177605B CN 111177605 B CN111177605 B CN 111177605B CN 201911329469 A CN201911329469 A CN 201911329469A CN 111177605 B CN111177605 B CN 111177605B
- Authority
- CN
- China
- Prior art keywords
- page
- time
- loading
- nodes
- monitoring
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种单页面的加载性能监控方法,应用于网页监控技术领域,一方面使得监控结果可以准确反应出页面的性能,另一方面通过在不插入其他程序代码的无侵入式的监控方法不会破坏原代码的结构,可以降低维护成本。本申请提供的单页面的加载性能监控方法包括:接收到加载页面的指令时,将触发加载该页面的时刻确定为起始时刻;判断该页面是否为单页面;当加载的该页面为单页面时,实时监控加载该页面中的节点的速度;当监控的该速度低于预设值时,将与该速度对应的时刻确定为结束时刻;根据该起始时刻及该结束时刻,确定加载该单页面的耗时。
Description
技术领域
本申请涉及网页监控技术领域,尤其涉及单页面的加载性能监控方法、装置及相关设备。
背景技术
Web页面是互联网行业中直接面向用户的使用界面,Web页面的使用性能,直接影响用户体验,糟糕的页面加载性能会导致用户的流失,直接影响业务的开展,因此,web页面性能的优化,对企业来说非常重要,而衡量页面性能的数据,则是通过检测页面的加载速度来判断。
Web页面分为单页面和多页面两种,这两种页面的显示区别在用户端感知不到,但是其设计原理不同,加载页面节点方式上也不同,多页面在跳转时是整页刷新,单页面在跳转时则只刷新局部,例如只刷新在显示器或显示屏上显示出来的部分内容。
传统无侵入式的页面性能监控方法是通过浏览器performance接口获取页面性能数据,实现无侵入式监控,但是这种方法只能监控到多页面应用,或者单页面应用的首个页面,而且对于前后端分离项目监控数据偏乐观,无法准确反馈页面性能。
传统无侵入的页面性能监控方法无法监控页面路由的跳转,因此也无法监控路由跳转后的页面的加载数据,且传统无侵入的页面性能监控方法在计算页面加载总耗时,是根据浏览器的load事件或DomContentLoaded事件作为页面加载完成的时间节点,在前后端分离的系统中,在以上两个事件完成时,页面数据实际上还未展现给用户,因此,统计出来的时间明显偏乐观,无法反映真实的用户体验。
目前能够相对准确地对单页面的页面性能进行监控的方式是通过在页面中插入大量的埋点统计代码,实现侵入式监控,但是大量的埋点代码,会破坏原代码的结构,带来大量的维护成本。
发明内容
本发明实施例提供一种单页面的加载性能监控方法、装置、计算机设备及存储介质,以解决现有技术无法在不侵入页面的条件下对单页面的加载速度进行准确监控的技术问题。
一种单页面的加载性能监控方法,该方法包括:
接收到加载页面的指令时,将触发加载该页面的时刻确定为起始时刻;
判断该页面是否为单页面;
当加载的该页面为单页面时,实时监控加载该页面中的节点的速度;
当监控的该速度低于预设值时,将与该速度对应的时刻确定为结束时刻;
根据该起始时刻及该结束时刻,确定加载该单页面的耗时。
一种单页面的加载性能监控装置,该装置包括:
起始时刻确定模块,用于接收到加载页面的指令时,将触发加载该页面的时刻确定为起始时刻;
判断模块,用于判断该页面是否为单页面;
加载速度监控模块,用于当加载的该页面为单页面时,实时监控加载该页面中的节点的速度;
结束时刻确定模块,用于当监控的该速度低于预设值时,将与该速度对应的时刻确定为结束时刻;
加载耗时确定模块,用于根据该起始时刻及该结束时刻,确定加载该单页面的耗时。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述单页面的加载性能监控方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述单页面的加载性能监控方法的步骤。
本发明提供的单页面的加载性能监控方法、装置、计算机设备及存储介质,通过实施监控单页面中节点的加载速度,并当监控的该加载速度较低时,判断该页面加载完成,从而确定在单页面加载完成的耗时,通过监控该单页面的加载耗时可以体现出该单页面的性能,由于本申请的加载耗时是根据节点的加载速度实时确定,一方面使得监控结果可以准确反应出页面的性能,另一方面通过不插入其他程序代码的无侵入式的监控方法不会破坏原代码的结构,可以降低维护成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中单页面的加载性能监控方法的一应用环境示意图;
图2是本发明一实施例中单页面的加载性能监控方法的一流程图;
图3是本发明另一实施例中单页面的加载性能监控方法的一流程图;
图4是本发明又一实施例中判断所述页面是否为单页面的方法流程图;
图5是本发明再一实施例中单页面的加载性能监控方法的一流程图;
图6是本发明一实施例中单页面的加载性能监控装置的结构示意图;
图7是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的单页面的加载性能监控方法,可应用在如图1的应用环境中。其中,计算机设备可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种单页面的加载性能监控方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤S101至S105。
S101、接收到加载页面的指令时,将触发加载该页面的时刻确定为起始时刻。
在其中一个实施例中,触发页面加载的操作可以是用户单击回车案件、点击刷新按钮、单击屏幕上的链接等操作。
S102、判断该页面是否为单页面。
在其中一个实施例中,判断所述页面是否为单页面的方法可以根据前端脚本语言,通过判断所述页面是否通过路由跳转而来,若是,则判断所述页面为单页面,否则,判断所述页面为多页面。
在其中一个实施例中,判断页面是否通过路由跳转而来的方法有两种:
(1)、根据判断是否通过预设的接口修改浏览器中所述页面的地址来判断;
(2)、根据页面地址栏中网址的哈希变化及加载的节点数来判断。
单页面和多页面的显示区别在用户端感知不到,但是其设计原理不同,加载页面节点方式上也不同,多页面在跳转时是整页刷新,单页面在跳转时则只刷新局部,例如只刷新在显示器或显示屏上显示出来的部分内容。
S103、当加载的该页面为单页面时,实时监控加载该页面中的节点的速度。
在其中一个实施例中,判断页面中的节点是否已被加载可以通过判断所述节点是否被渲染来确定。
S104、当监控的该速度低于预设值时,将与该速度对应的时刻确定为结束时刻。
在其中一个实施例中,该当监控的该速度低于预设值时,将与该速度对应的时刻确定为结束时刻的步骤包括以下步骤:
以该起始时刻作为时间起点,获取在单位时间内渲染的节点个数;
当在当前时间单位内渲染的节点个数与相邻的上一时间单位内渲染的节点个数的差值大于预设值时,获取与该当前时间单位对应的当前时刻,例如可以根据以下公式计算出该当前时刻:
T=t0+t1+t2+……+tn
其中,t0表示起始时刻,t1表示与t0时刻间隔的第一个时间单位,t2表示与t0时刻间隔的第二个时间单位,tn表示当前时间单位渲染的节点个数与相邻的上一时间单位内渲染的节点个数的差值大于预设值时与t0时刻间隔的第n个时间单位,T表示当前时刻;
将该当前时刻确定为该结束时刻。
在其中一个实施例中,所述单位时间的单位为毫秒。
在其中一个实施例中,确定所述结束时刻还可以通过开源的算法来实现,例如可以在单页应用监听页面跳转后,通过结点diff算法,结合MutationObserver对象接口,计算首次页面结点批量更新时机,将计算得到的更新时机确定为所述结束时刻。
S105、根据该起始时刻及该结束时刻,确定加载该单页面的耗时。
在其中一个实施例中,所述结束时刻减去所述起始时刻即为所述单页面的耗时。
本实施例通过实时监控单页面中节点的渲染速度,使得计算机得到的耗时时间最接近用户真实体验的时间。
在其中一个实施例中,所述方法还包括在浏览器渲染主线程空闲时/用户离开页面时,即在不干扰用户使用的前提下,上报监控数据,所述监控数据包括与被监控的页面相对应的唯一标识及所述被监控页面的耗时。
本实施例通过实施监控单页面中节点的加载速度,并当监控的该加载速度较低时,判断该页面加载完成,从而确定在单页面加载完成的耗时,通过监控该单页面的加载耗时可以体现出该单页面的性能,由于本申请的加载耗时是根据节点的加载速度实时确定,一方面使得监控结果可以准确反应出页面的性能,另一方面通过不插入其他程序代码的无侵入式的监控方法不会破坏原代码的结构,可以降低维护成本。
图3是本发明另一实施例中单页面的加载性能监控方法的一流程图,根据本实施例中单页面的加载性能监控方法的另一实施例如图3所示,该实施例在包括上述步骤S101、S103至S105的基础上,上述步骤S102中判断该页面是否为单页面的步骤进一步包括:
S1021、接收到加载页面的指令时,获取更改该页面的网址所调用的接口名;
S1022、判断获取的该接口名是否为预设的至少一个接口名的其中之一,若是,则判断该页面为单页面。
其中,预设的至少一个接口名例如浏览器历史接口history中的推入状态接口pushState。
在其中一个实施例中,如图3所示,上述步骤S102中判断该页面是否为单页面的步骤进一步包括:
接收到加载页面的指令时,获取更改该页面的网址所使用的函数方法名;
判断获取的该函数方法名是否为预设的至少一个函数方法名的其中之一,若是,则判断该页面为单页面。
其中,预设的至少一个函数方法名例如替换方法replaceState、推出状态方法popState等。
根据本实施例的一个使用场景例如,在使用浏览器初次打开网页时,该网页是否为单页面可通过获取更改该页面的网址所调用的接口名进行判断,在下拉浏览器的滚动条或者是通过触摸屏上划触摸屏幕以加载更多内容时,该网页是否为单页面可通过获取更改该页面的网址所使用的函数方法名进行判断,图3中并列的两种判断单页面的方法适用于不同的使用场景。
图4是本发明又一实施例中判断所述页面是否为单页面的方法流程图,如图4所示,上述步骤S102中判断该页面是否为单页面的方法包括以下步骤S1023至S1027:
S1023、获取加载该页面之前该页面的初始网址,并获取加载该页面之后该页面的更新网址;
S1024、提取该初始网址中的哈希值并标记为第一哈希值;
S1025、提取该更新网址中的哈希值并标记为第二哈希值;
S1026、获取加载该页面之前已加载的历史节点数,并获取加载该页面之后更新加载的最新节点数;
S1027、当该第一哈希值与该第二哈希值不同,且该历史节点数与该最新节点数也不同时,判断该页面为单页面。
其中,网址中井号键“#”之后的字符即为所述哈希值,所述的节点可以是一张图片、一个视频或者是一段文字,节点表示网页加载的最小单位。
在其中一个实施例中,该实时监控加载该页面中的节点的速度的步骤包括:
将该页面中节点的渲染速度确定为该节点的加载速度。
在其中一个实施例中,该方法还包括:
获取监控目标所包含的至少一个页面在预设时间段内加载耗时的变化;
创建与该监控目标相对应的加载耗时的图表,该图表的横轴表示时间,该图表的纵轴表示加载该页面的耗时。
在其中一个实施例中,所述监控目标可以是一个页面,也可以是包含有多个页面的系统,当所述监控目标为包含有多个页面的系统时,所述图表中对应有多个曲线。
传统无侵入性能监控无法监控页面路由跳转,在计算页面加载总耗时,是根据浏览器的load事件或DomContentLoaded事件作为页面加载完成的时间节点,在前后端分离的系统中,在以上两个事件完成时,页面数据还未展现给用户,因此,统计出来的时间明显偏乐观,无法反映真实的用户体验。
本申请通过监控网页是否由路由跳转而来,具体通过监控history接口的pushState方法、replaceState方法和popState事件,同时监控URL(Uniform ResourceLocator,统一资源定位符)网址中的hash值,当通过调用pushState方法、replaceState方法或popState事件来修改跳转后的网址/跳转后网址的hash值及加载的节点个数均发生变化时,判断该网页为单页面,并通过判断在单位时间内节点的渲染速度来判断节点的加载速度,使得统计出来的耗时更准确,更能反映真实的用户体验。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种单页面的加载性能监控装置,该单页面的加载性能监控装置与上述实施例中单页面的加载性能监控方法一一对应。如图6所示,该单页面的加载性能监控100装置包括起始时刻确定模块11、判断模块12、加载速度监控模块13、结束时刻确定模块14和加载耗时确定模块模块15。各功能模块详细说明如下:
起始时刻确定模块11,用于接收到加载页面的指令时,将触发加载该页面的时刻确定为起始时刻。
在其中一个实施例中,触发页面加载的操作可以是用户单击回车案件、点击刷新按钮、单击屏幕上的链接等操作。
判断模块12,用于判断该页面是否为单页面。
在其中一个实施例中,该判断模块判断所述页面是否为单页面的方法可以根据前端脚本语言,通过判断所述页面是否通过路由跳转而来,若是,则判断所述页面为单页面,否则,判断所述页面为多页面。
在其中一个实施例中,判断页面是否通过路由跳转而来的方法有两种:
(1)、根据判断是否通过预设的接口修改浏览器中所述页面的地址来判断;
(2)、根据页面地址栏中网址的哈希变化及加载的节点数来判断。
单页面和多页面的显示区别在用户端感知不到,但是其设计原理不同,加载页面节点方式上也不同,多页面在跳转时是整页刷新,单页面在跳转时则只刷新局部,例如只刷新在显示器或显示屏上显示出来的部分内容。
加载速度监控模块13,用于当加载的该页面为单页面时,实时监控加载该页面中的节点的速度。
在其中一个实施例中,该加载速度监控模块13判断页面中的节点是否已被加载可以通过判断所述节点是否被渲染来确定。
结束时刻确定模块14,用于当监控的该速度低于预设值时,将与该速度对应的时刻确定为结束时刻。
加载耗时确定模块15,用于根据该起始时刻及该结束时刻,确定加载该单页面的耗时。
在其中一个实施例中,加载耗时确定模块可以将结束时刻减去所述起始时刻即为所述单页面的耗时。
本实施例通过实时监控单页面中节点的渲染速度,使得计算机得到的耗时时间最接近用户真实体验的时间。
在其中一个实施例中,该单页面的加载性能监控装置还包括:
监控数据上报模块,用于在浏览器渲染主线程空闲时/用户离开页面时,即在不干扰用户使用的前提下,上报监控数据,所述监控数据包括与被监控的页面相对应的唯一标识及所述被监控页面的耗时。
在其中一个实施例中,该判断模块12进一步包括:
接口获取单元,用于接收到加载页面的指令时,获取更改该页面的网址所调用的接口名;
第一判断单元,用于判断获取的该接口名是否为预设的至少一个接口名的其中之一,若是,则判断该页面为单页面。
其中,预设的至少一个接口名例如浏览器历史接口history中的推入状态接口pushState。
在其中一个实施例中,该判断模块12进一步包括:
函数方法获取单元,用于接收到加载页面的指令时,获取更改该页面的网址所使用的函数方法名;
第二判断单元,用于判断获取的该函数方法名是否为预设的至少一个函数方法名的其中之一,若是,则判断该页面为单页面。
其中,预设的至少一个函数方法名例如替换方法replaceState、推出状态方法popState等。
在其中一个实施例中,该判断模块12进一步包括:
网址获取单元,用于获取加载该页面之前该页面的初始网址,并获取加载该页面之后该页面的更新网址;
第一哈希值获取单元,用于提取该初始网址中的哈希值并标记为第一哈希值;
第二哈希值获取单元,用于提取该更新网址中的哈希值并标记为第二哈希值;
节点数获取单元,用于获取加载该页面之前已加载的历史节点数,并获取加载该页面之后更新加载的最新节点数;
第三判断单元,用于当该第一哈希值与该第二哈希值不同,且该历史节点数与该最新节点数也不同时,判断该页面为单页面。
其中,网址中井号键“#”之后的字符即为所述哈希值,所述的节点可以是一张图片、一个视频或者是一段文字,节点表示网页加载的最小单位。
在其中一个实施例中,该加载速度监控模块13具体用于将该页面中节点的渲染速度确定为该节点的加载速度。
在其中一个实施例中,该加载速度监控模块13包括:
节点渲染单元,用于以该起始时刻作为时间起点,获取在单位时间内渲染的节点个数;
当前时刻获取单元,用于当在当前时间单位内渲染的节点个数与相邻的上一时间单位内渲染的节点个数的差值大于预设值时,获取与该当前时间单位对应的当前时刻,例如可以根据以下公式计算出该当前时刻:
T=t0+t1+t2+……+tn
其中,t0表示起始时刻,t1表示与t0时刻间隔的第一个时间单位,t2表示与t0时刻间隔的第二个时间单位,tn表示当前时间单位渲染的节点个数与相邻的上一时间单位内渲染的节点个数的差值大于预设值时与t0时刻间隔的第n个时间单位,T表示当前时刻;
结束时刻获取单元,用于将该当前时刻确定为该结束时刻。
在其中一个实施例中,所述单位时间的单位为毫秒。
在其中一个实施例中,确定所述结束时刻还可以通过开源的算法来实现,例如可以在单页应用监听页面跳转后,通过结点diff算法,结合MutationObserver对象接口,计算首次页面结点批量更新时机,将计算得到的更新时机确定为所述结束时刻。
在其中一个实施例中,该单页面的加载性能监控100还包括:
耗时获取模块,用于获取监控目标所包含的至少一个页面在预设时间段内加载耗时的变化;
图标创建模块,用于创建与该监控目标相对应的加载耗时的图表,该图表的横轴表示时间,该图表的纵轴表示加载该页面的耗时。
在其中一个实施例中,所述监控目标可以是一个页面,也可以是包含有多个页面的系统,当所述监控目标为包含有多个页面的系统时,所述图表中对应有多个曲线。
本实施例通过判断模块监控网页是否由路由跳转而来,具体通过监控history接口的pushState方法、replaceState方法和popState事件,同时监控URL网址中的hash值,当通过调用pushState方法、replaceState方法或popState事件来修改跳转后的网址/跳转后网址的hash值及加载的节点个数均发生变化时,判断该网页为单页面,并通过判断在单位时间内节点的渲染速度来判断节点的加载速度,使得统计出来的耗时更准确,更能反映真实的用户体验。
关于单页面的加载性能监控装置的具体限定可以参见上文中对于单页面的加载性能监控方法的限定,在此不再赘述。上述单页面的加载性能监控装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种单页面的加载性能监控方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中单页面的加载性能监控方法的步骤,例如图2所示的步骤101至步骤105。或者,处理器执行计算机程序时实现上述实施例中单页面的加载性能监控装置的各模块/单元的功能,例如图6所示模块11至模块15的功能。为避免重复,这里不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中单页面的加载性能监控方法的步骤,例如图2所示的步骤101至步骤105。或者,计算机程序被处理器执行时实现上述实施例中单页面的加载性能监控装置的各模块/单元的功能,例如图6所示模块11至模块15的功能。为避免重复,这里不再赘述。
上述实施例提供的单页面的加载性能监控方法、装置、计算机设备及存储介质通过实施监控单页面中节点的加载速度,并当监控的该加载速度较低时,判断该页面加载完成,从而确定在单页面加载完成的耗时,通过监控该单页面的加载耗时可以体现出该单页面的性能,由于本申请的加载耗时是根据节点的加载速度实时确定,一方面使得监控结果可以准确反应出页面的性能,另一方面通过不插入其他程序代码的无侵入式的监控方法不会破坏原代码的结构,可以降低维护成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (8)
1.一种单页面的加载性能监控方法,其特征在于,所述方法包括:
接收到加载页面的指令时,将触发加载所述页面的时刻确定为起始时刻;
判断所述页面是否为单页面,其中,判断所述页面是否为单页面可以根据判断是否通过预设的接口修改浏览器中所述页面的地址来判断,或者,根据页面地址栏中网址的哈希变化及加载的节点数来判断;
当加载的所述页面为单页面时,实时监控加载所述页面中的节点的速度;
当监控的所述速度低于预设值时,将与所述速度对应的时刻确定为结束时刻;
根据所述起始时刻及所述结束时刻,确定加载所述单页面的耗时;
其中,所述当加载的所述页面为单页面时,实时监控加载所述页面中的节点的速度包括:将所述页面中节点的渲染速度确定为所述节点的加载速度;
所述当监控的所述速度低于预设值时,将与所述速度对应的时刻确定为结束时刻包括:
以所述起始时刻作为时间起点,获取在单位时间内渲染的节点个数;
当在当前时间单位内渲染的节点个数与相邻的上一时间单位内渲染的节点个数的差值大于预设值时,获取与所述当前时间单位对应的当前时刻;
将所述当前时刻确定为所述结束时刻。
2.根据权利要求1所述的单页面的加载性能监控方法,其特征在于,所述判断所述页面是否为单页面的步骤包括:
接收到加载页面的指令时,获取更改所述页面的网址所调用的接口名;
判断获取的所述接口名是否为预设的至少一个接口名的其中之一,若是,则判断所述页面为单页面。
3.根据权利要求1所述的单页面的加载性能监控方法,其特征在于,所述判断所述页面是否为单页面的步骤包括:
接收到加载页面的指令时,获取更改所述页面的网址所使用的函数方法名;
判断获取的所述函数方法名是否为预设的至少一个函数方法名的其中之一,若是,则判断所述页面为单页面。
4.根据权利要求1所述的单页面的加载性能监控方法,其特征在于,所述判断所述页面是否为单页面的步骤包括:
获取加载所述页面之前所述页面的初始网址,并获取加载所述页面之后所述页面的更新网址;
提取所述初始网址中的哈希值并标记为第一哈希值;
提取所述更新网址中的哈希值并标记为第二哈希值;
获取加载所述页面之前已加载的历史节点数,并获取加载所述页面之后更新加载的最新节点数;
当所述第一哈希值与所述第二哈希值不同,且所述历史节点数与所述最新节点数也不同时,判断所述页面为单页面。
5.根据权利要求1至4任一项所述的单页面的加载性能监控方法,其特征在于,所述方法还包括:
获取监控目标所包含的至少一个页面在预设时间段内加载耗时的变化;
创建与所述监控目标相对应的加载耗时的图表,所述图表的横轴表示时间,所述图表的纵轴表示加载所述页面的耗时。
6.一种单页面的加载性能监控装置,其特征在于,包括:
起始时刻确定模块,用于接收到加载页面的指令时,将触发加载所述页面的时刻确定为起始时刻;
判断模块,用于判断所述页面是否为单页面,其中,判断所述页面是否为单页面可以根据判断是否通过预设的接口修改浏览器中所述页面的地址来判断,或者,根据页面地址栏中网址的哈希变化及加载的节点数来判断;
加载速度监控模块,用于当加载的所述页面为单页面时,实时监控加载所述页面中的节点的速度,将所述页面中节点的渲染速度确定为所述节点的加载速度;
结束时刻确定模块,用于当监控的所述速度低于预设值时,将与所述速度对应的时刻确定为结束时刻;
加载耗时确定模块,用于根据所述起始时刻及所述结束时刻,确定加载所述单页面的耗时;
其中,所述结束时刻确定模块包括:
节点渲染单元,用于以所述起始时刻作为时间起点,获取在单位时间内渲染的节点个数;
当前时刻获取单元,用于当在当前时间单位内渲染的节点个数与相邻的上一时间单位内渲染的节点个数的差值大于预设值时,获取与所述当前时间单位对应的当前时刻;
结束时刻获取单元,用于将所述当前时刻确定为所述结束时刻。
7.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5中任一项所述单页面的加载性能监控方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述单页面的加载性能监控方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911329469.9A CN111177605B (zh) | 2019-12-20 | 2019-12-20 | 单页面的加载性能监控方法、装置及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911329469.9A CN111177605B (zh) | 2019-12-20 | 2019-12-20 | 单页面的加载性能监控方法、装置及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177605A CN111177605A (zh) | 2020-05-19 |
CN111177605B true CN111177605B (zh) | 2022-06-21 |
Family
ID=70654018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911329469.9A Active CN111177605B (zh) | 2019-12-20 | 2019-12-20 | 单页面的加载性能监控方法、装置及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177605B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113761443A (zh) * | 2021-08-24 | 2021-12-07 | 百安居信息技术(上海)有限公司 | 一种网站页面数据采集与统计方法、存储介质及设备 |
CN114896013A (zh) * | 2022-05-12 | 2022-08-12 | 北京达佳互联信息技术有限公司 | 页面加载时长确定方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778167A (zh) * | 2014-01-09 | 2015-07-15 | 中兴通讯股份有限公司 | 一种网页加载进度控制方法、装置和终端 |
CN106502902A (zh) * | 2016-10-25 | 2017-03-15 | 中国工商银行股份有限公司 | web页面运行效率监测方法及装置 |
CN109376318A (zh) * | 2018-09-03 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 一种页面加载方法、计算机可读存储介质及终端设备 |
CN110069194A (zh) * | 2019-03-21 | 2019-07-30 | 北京三快在线科技有限公司 | 页面卡顿确定方法、装置、电子设备及可读存储介质 |
CN110287441A (zh) * | 2019-06-27 | 2019-09-27 | 广州华多网络科技有限公司 | 页面加载时长的检测方法、装置、设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9286413B1 (en) * | 2014-10-09 | 2016-03-15 | Splunk Inc. | Presenting a service-monitoring dashboard using key performance indicators derived from machine data |
CN108121644A (zh) * | 2017-12-19 | 2018-06-05 | 珠海市君天电子科技有限公司 | 一种页面控件性能的测试方法、装置及电子设备 |
-
2019
- 2019-12-20 CN CN201911329469.9A patent/CN111177605B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778167A (zh) * | 2014-01-09 | 2015-07-15 | 中兴通讯股份有限公司 | 一种网页加载进度控制方法、装置和终端 |
CN106502902A (zh) * | 2016-10-25 | 2017-03-15 | 中国工商银行股份有限公司 | web页面运行效率监测方法及装置 |
CN109376318A (zh) * | 2018-09-03 | 2019-02-22 | 中国平安人寿保险股份有限公司 | 一种页面加载方法、计算机可读存储介质及终端设备 |
CN110069194A (zh) * | 2019-03-21 | 2019-07-30 | 北京三快在线科技有限公司 | 页面卡顿确定方法、装置、电子设备及可读存储介质 |
CN110287441A (zh) * | 2019-06-27 | 2019-09-27 | 广州华多网络科技有限公司 | 页面加载时长的检测方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111177605A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108304498B (zh) | 网页数据采集方法、装置、计算机设备和存储介质 | |
CN106547578B (zh) | 终端应用app的加载方法及装置 | |
CN108848142B (zh) | 消息推送方法、装置、计算机设备和存储介质 | |
CN110647320A (zh) | 项目框架的构建方法、装置、计算机设备和存储介质 | |
US20110320880A1 (en) | System identifying and inferring web session events | |
CN112035186B (zh) | H5页面的预加载及跳转方法、装置、设备及介质 | |
US8347021B1 (en) | Storing application messages | |
CN110309109B (zh) | 数据监控方法、装置、计算机设备及存储介质 | |
CN111177605B (zh) | 单页面的加载性能监控方法、装置及相关设备 | |
CN108829485A (zh) | 应用界面布局的更新方法、装置、存储介质及计算机设备 | |
CN109190067B (zh) | 浏览器输入框展示方法、装置、计算机设备及存储介质 | |
CN110765208B (zh) | 一种数据同步方法、装置、电子设备及存储介质 | |
CN111898336B (zh) | 弹幕显示方法、装置、计算机设备及存储介质 | |
CN112612988A (zh) | 页面处理方法、装置、计算机设备及存储介质 | |
CN110750443A (zh) | 网页测试的方法、装置、计算机设备及存储介质 | |
CN110659092A (zh) | 网页截图方法、装置、计算机设备和存储介质 | |
CN110888709A (zh) | 监控屏的智能操作方法、装置、计算机设备和存储介质 | |
CN110674619A (zh) | 一种在线文档编辑方法、装置、设备及计算机存储介质 | |
CN110851159A (zh) | 业务规则更新方法、装置、计算机设备和存储介质 | |
CN110119336A (zh) | 数据处理方法、装置、计算机可读存储介质和计算机设备 | |
CN111797026A (zh) | 测试用例生成方法、装置、计算机设备及存储介质 | |
CN111431767B (zh) | 多浏览器资源同步方法、装置、计算机设备和存储介质 | |
CN110134656A (zh) | 页面控制方法、装置、计算机可读存储介质和计算机设备 | |
CN108763046A (zh) | 线程运行监控方法、装置、计算机设备和存储介质 | |
CN108616575B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |