navigationStart浏览器
当前浏览器窗口的前一个网页关闭,发生unload事件时的Unix毫秒时间戳。若是没有前一个网页,则等于fetchStart属性。缓存
unloadEventStart安全
若是前一个网页与当前网页属于同一个域名,则返回前一个网页的unload事件发生时的Unix毫秒时间戳。若是没有前一个网页,或者以前的网页跳转不是在同一个域名内,则返回值为0;服务器
unloadEventEndapp
若是前一个网页与当前网页属于同一个域名,则返回前一个网页unload事件的回调函数结束时的Unix毫秒时间戳。若是没有前一个网页,或者以前的网页跳转不是在同一个域名内,则返回值为0。dom
redirectStart函数
返回第一个HTTP跳转开始时的Unix毫秒时间戳。若是没有跳转,或者不是同一个域名内部的跳转,则返回值为0。fetch
redirectEndurl
返回最后一个HTTP跳转结束时(即跳转回应的最后一个字节接受完成时)的Unix毫秒时间戳。若是没有跳转,或者不是同一个域名内部的跳转,则返回值为0。code
fetchStart
返回浏览器准备使用HTTP请求读取文档时的Unix毫秒时间戳。该事件在网页查询本地缓存以前发生。
domainLookupStart
返回域名查询开始时的Unix毫秒时间戳。若是使用持久链接,或者信息是从本地缓存获取的,则返回值等同于fetchStart属性的值。
domainLookupEnd
回域名查询结束时的Unix毫秒时间戳。若是使用持久链接,或者信息是从本地缓存获取的,则返回值等同于fetchStart属性的值。
connectStart
返回HTTP请求开始向服务器发送时的Unix毫秒时间戳。若是使用持久链接(persistent connection),则返回值等同于fetchStart属性的值。
connectEnd
返回浏览器与服务器之间的链接创建时的Unix毫秒时间戳。若是创建的是持久链接,则返回值等同于fetchStart属性的值。链接创建指的是全部握手和认证过程所有结束
secureConnectionStart
返回浏览器与服务器开始安全连接的握手时的Unix毫秒时间戳。若是当前网页不要求安全链接,则返回0。
requestStart
返回浏览器向服务器发出HTTP请求时(或开始读取本地缓存时)的Unix毫秒时间戳。
responseStart
返回浏览器从服务器收到(或从本地缓存读取)最后一个字节时(若是在此以前HTTP链接已经关闭,则返回关闭时)的Unix毫秒时间戳
domLoading
返回当前网页DOM结构开始解析时(即Document.readyState属性变为“loading”、相应的readystatechange事件触发时)的Unix毫秒时间戳。
domInteractive
返回当前网页DOM结构结束解析、开始加载内嵌资源时(即Document.readyState属性变为“interactive”、相应的readystatechange事件触发时)的Unix毫秒时间戳。
domContentLoadedEventStart
返回当前网页DOMContentLoaded事件发生时(即DOM结构解析完毕、全部脚本开始运行时)的Unix毫秒时间戳。
domContentLoadedEventEnd
返回当前网页全部须要执行的脚本执行完成时的Unix毫秒时间戳。
domComplete
返回当前网页DOM结构生成时(即Document.readyState属性变为“complete”,以及相应的readystatechange事件发生时)的Unix毫秒时间戳。
loadEventStart
返回当前网页load事件的回调函数开始时的Unix毫秒时间戳。若是该事件尚未发生,返回0。
loadEventEnd
返回当前网页load事件的回调函数运行结束时的Unix毫秒时间戳。若是该事件尚未发生,返回0。
通常页面统计所须要的参数(dom解析时间,domContentLoaded时间,onload时间, 白屏时间,getStyleConfig接口返回时间 - 准备加载新页面的起始时间)
let pt = window.performance.timing; /* dom解析时间 * * *1.domComplete *当前网页DOM结构生成时(即Document.readyState属性变为“complete”,以及相应的 *readystatechange事件发生时)的Unix毫秒时间戳 * *2.domInteractive *当前网页DOM结构结束解析、开始加载内嵌资源时 *即Document.readyState属性变为“interactive”、相应的readystatechange事件触发时 *的Unix毫秒时间戳。 */ let domComplete = pt.domComplete - pt.domInteractive; /* domContentLoaded时间 * * *当前网页DOM结构生成时(即Document.readyState属性变为“complete”,以及相应的 *1.domContentLoadedEventEnd *网页DOMContentLoaded事件发生时(即DOM结构解析完毕、全部脚本开始运行时)的Unix毫秒时间 *戳。 * *2.navigationStart *当前浏览器窗口的前一个网页关闭,发生unload事件时的Unix毫秒时间戳。 *若是没有前一个网页,则等于fetchStart属性 */ let domLoaded = pt.domContentLoadedEventEnd - pt.navigationStart; /* onload时间 *1.loadEventEnd *当前网页load事件的回调函数运行结束时的Unix毫秒时间戳。若是该事件尚未发生,返回0。 */ let onload = pt.loadEventEnd - pt.navigationStart; // 白屏时间,getStyleConfig接口返回时间 - 准备加载新页面的起始时间 let white = window.dbStyleConfigEnd ? window.dbStyleConfigEnd - pt.navigationStart : ''; let dbStyle = window.dbStyleConfigEnd - window.dbStyleConfigStart; let url = `/statistics/activityPagePerf?hdType=${CFG.appName}&oaId=${CFG.actId}&domComplete=${domComplete}&domLoaded=${domLoaded}&onload=${onload}&white=${white}&dbStyle=${dbStyle}`;
主要是查看指标值PAGET_页面加载时间,此指标指的是页面总体加载时间但不含(onload事件和redirect), 此指标值可直接反应用户体验, 今后项指标能够知道指定某时间段的页面加载速度值,以及和天,周,月的对比情况.
也能够查询指标ALLT_页面彻底加载时间, 能够查询到从浏览器开始导航(用户点击连接或在地址栏输入url或点刷新,后退按钮)到页面onload 事件js彻底跑完的全部时间.
若是发现页面加载速度有增长或减小,则能够分项查询前面的每一个指标值,总的来讲他们的关系以下:
1.dom开始加载前全部花费时间=重定向时间+域名解析时间+创建链接花费时间+请求花费时间+接收数据花费时间
2.pageLoadTime页面加载时间=域名解析时间+创建链接花费时间+请求花费时间+接收数据花费时间+解析dom花费时间+加载dom花费时间
3.allLoadTime页面彻底加载时间=重定向时间+域名解析时间+创建链接花费时间+请求花费时间+接收数据花费时间+解析dom花费时间+加载dom花费时间+执行onload事件花费时间
4.resourcesLoadedTime资源加载时间=解析dom花费时间+加载dom花费时间