RUM流程
2018-03-22 13:51:03 0 举报
页面性能统计
作者其他创作
大纲/内容
redirectStart:第一个 HTTP 重定向发生时的时间。有跳转且是同域名内的重定向才算,否则值为 0redirectEnd:最后一个 HTTP 重定向完成时的时间。有跳转且是同域名内部的重定向才算,否则值为 0 。重定向耗时:redirectEnd - redirectStart
domInteractive - navigationStart || fetchStart
unloadEventStart:如果没有前一个页面,或者前一个页面与当前访问页面不同域,则值为0unloadEventEnd:同上。页面卸载耗时:unloadEventEnd - unloadEventStart
服务器响应
页面白屏时间(开始渲染时间):从用户开始访问到服务器开始响应,(domLoading - navigationStart || fetchStart)+头部资源解析加载耗时头部加载耗时,需要自行打点上报
DNS查询
loadEventEnd - navigationStart || fetchStart
fetchStart:浏览器准备好使用 HTTP 请求抓取文档的时间,这发生在检查本地缓存之前
页面卸载
DOM加载和执行内嵌资源
附加信息:位置信息:IP、国家、省份、城市(后端解析)运营商:移动、电信、联通、其他(后端解析)网络类型:WIFI、4G、3G、2G、其他(后端解析)以上信息又后端根据前端传递的信息解析以下信息由前端自行获取设备信息:浏览器名称、浏览器版本、JS引擎、操作系统、设备(PC、TOUCH、WECHAT、手Q等)其他信息:脚本版本、UA
domComplete - domInteractive
缓存查询
请求服务器
requestStart: HTTP 请求读取真实文档开始的时间(完成建立连接),包括从本地读取缓存
页面重定向
解析DOM树结构
domInteractive - domLoading
用户输入url或者点击某个链接跳转开始访问
domContentLoadedEventEnd - navigationStart || fetchStart
domainLookupStart:DNS 域名查询开始的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等domainLookupEnd: DNS 域名查询完成的时间,如果使用了本地缓存(即无 DNS 查询)或持久连接,则与 fetchStart 值相等DNS查询耗时:domainLookupEnd - domainLookupStart
onload本身
可操作时间
navigationStart:前一个网页(同域或者不同域)unload的时间戳,如果不存在页面卸载,则此时间戳和fetchStart相同
页面错误统计:全局监听onerror事件,该事件可以捕获全局错误,并自动上报。try catch的错误可以使用脚本提供的接口手动上报。上报信息如下:报错时间错误页面title错误页面URL错误名称错误信息文件行号、列号(根据用户上传的sourceMap解析成对应的源码的行号、列号)
loadEventStart: load 事件发送给文档,也即 load 回调函数开始执行的时间,如果没有绑定 load 事件,值为 0loadEventEnd:load 事件的回调函数执行完毕的时间onload:loadEventEnd - loadEventStart
DOMReady
onload总下载时间
DNS缓存:domainLookupStart - fetchStart
TCP
responseStart:HTTP 开始接收响应的时间(获取到第一个字节),包括从本地读取缓存responseEnd:HTTP 响应全部接收完成的时间(获取到最后一个字节),包括从本地读取缓存文档下载耗时:responseEnd - responseStart
首字节耗时:responseStart - requestStart
收藏
0 条评论
下一页