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花費時間