คุณลักษณะความเร็วไซต์ของ Google Analytics _gaq.push(['_trackPageLoadTime'])
ทำงานอย่างไร มีเอกสารเกี่ยวกับวิธีการทำงานหรือไม่?
คุณลักษณะความเร็วไซต์ของ Google Analytics _gaq.push(['_trackPageLoadTime'])
ทำงานอย่างไร มีเอกสารเกี่ยวกับวิธีการทำงานหรือไม่?
คำตอบ:
แก้ไข : ณ วันที่ 16 พฤศจิกายน 2011, ฟังก์ชั่นได้รับการคัดค้านและการทำงานที่ได้รับการตั้งค่าเป็นค่าเริ่มต้น (ตามหน้าที่แล้วมันได้เปลี่ยนไปจากการเป็นคุณลักษณะการเลือกเข้าร่วมเป็นคุณลักษณะการเลือกไม่ใช้)_trackPageLoadTime
_setSiteSpeedSampleRate
เป็นฟังก์ชันใหม่สำหรับกำหนดอัตราการสุ่มตัวอย่างของคุณลักษณะนี้ ค่าเริ่มต้นคือ1
(เท่ากับ 1%) หากต้องการยกเลิกการใช้คุณลักษณะความเร็วไซต์คุณต้องส่งผ่าน0
ไปยังฟังก์ชันนี้:
_gaq.push(["_setSiteSpeedSampleRate", 0]);
จากศูนย์ช่วยเหลือของ Google Analytics :
ปัจจุบันรายงานนี้สนับสนุนเบราว์เซอร์ต่อไปนี้: Chrome, Internet Explorer 9 และ Internet Explorer เวอร์ชันก่อนหน้าพร้อมกับติดตั้ง Google Toolbar โดยเฉพาะอย่างยิ่งรายงานความเร็วไซต์ต้องการเบราว์เซอร์ที่รองรับอินเทอร์เฟซ HTML5 NavigationTiming หรือติดตั้งแถบเครื่องมือ Google Internet Explorer
ดังนั้นจึงไม่ได้ใช้ตัวจับเวลาของตัวเองเช่นเดียวกับโซลูชันโฮมแบ็คก่อนหน้านี้เพื่อหาระยะเวลาในการโหลดหน้าเว็บ แต่จะใช้คุณลักษณะ HTML5 ใหม่ซึ่งปัจจุบันได้รับการสนับสนุนเฉพาะในกรณีข้างต้นที่เรียกว่า NavigationTiming
แก้ไข : ตอนนี้รองรับในFirefox 7 แล้ว
(สิ่งสำคัญโปรดทราบว่าจะไม่ทำงานในทุกการโหลด แต่ในปัจจุบันจะสุ่มตัวอย่างประมาณ 2% ของการดูหน้าเว็บแม้ว่าจะมีการกำหนดค่าให้พยายามติดตามการโหลดหน้าเว็บทั้งหมดใน 10% ของการเข้าชมเนื่องจากเบราว์เซอร์จำนวนมากขึ้นรองรับ NavigationTiming API คุณสามารถคาดหวังว่าเปอร์เซ็นต์ตัวอย่างทั้งหมดจะเริ่มเข้าใกล้ 10% มากขึ้น)
อินเทอร์เฟซนี้เข้าถึงได้ภายใต้ออบเจ็กต์ DOM window.performance
(หรือใน Chrome เวอร์ชันก่อนหน้าwindow.webkitPerformance
) โดยใช้timing
แอตทริบิวต์ (ดังนั้นwindow.performance.timing
) ออบเจ็กต์จะเก็บค่าที่วัดได้ของเวลาเหตุการณ์การโหลดหน้าหลักทั้งหมดและ Google Analytics จะลบค่าภายนอกที่สำคัญกว่า 2 ค่าออกเพื่อตัดสินความเร็วในการโหลดหน้าเว็บ
สำหรับการโหลด Mashable.com โดยไม่ใช้แคชนี่คือตัวอย่างของสิ่งที่วัดได้ (ใน Chrome 11):
timing = {
connectEnd: 1306677079337,
connectStart: 1306677079337,
domComplete: 1306677083482,
domContentLoadedEventEnd: 1306677081765,
domContentLoadedEventStart: 1306677081576,
domInteractive: 1306677081576,
domLoading: 1306677079478,
domainLookupEnd: 1306677079337,
domainLookupStart: 1306677079337,
fetchStart: 1306677079337,
loadEventEnd: 1306677083483,
loadEventStart: 1306677083482,
navigationStart: 1306677079337,
redirectEnd: 0,
redirectStart: 0,
requestStart: 1306677079394,
responseEnd: 1306677079669,
responseStart: 1306677079476,
secureConnectionStart: 0,
unloadEventEnd: 0,
unloadEventStart: 0
}
ตัวเลขเหล่านี้เป็นมิลลิวินาทีหรือมิลลิวินาทีนับตั้งแต่วันที่ 1 มกราคม 1970 ฉันไม่เห็นเอกสารใด ๆ ว่าค่าใดที่ลบออกเพื่อสร้างค่าของมัน แต่จากการตรวจสอบคร่าวๆของga.jsดูเหมือนว่าจะเป็นloadEventStart-fetchStart
:
h&&h[c]!=k&&h.isValidLoadTime?b=h[c]:e&&e[a]&&(b=e[a].loadEventStart-e[a].fetchStart);
สำหรับตัวอย่างข้างต้นนั่นหมายความว่าจะบันทึก4.14 วินาทีในการ_trackPageLoadTime
โทร
หากต้องการดึงทรัพยากรใหม่โดยใช้ HTTP GET หรือเทียบเท่า fetchStart ต้องส่งคืนเวลาทันทีก่อนที่ตัวแทนผู้ใช้จะเริ่มตรวจสอบแคชของแอปพลิเคชันที่เกี่ยวข้อง มิฉะนั้นจะต้องส่งคืนเวลาที่ตัวแทนผู้ใช้เริ่มดึงทรัพยากร
แอตทริบิวต์นี้ต้องส่งคืนเวลาทันทีก่อนที่เหตุการณ์การโหลดของเอกสารปัจจุบันจะเริ่มทำงาน จะต้องคืนค่าศูนย์เมื่อเหตุการณ์โหลดยังไม่เริ่มทำงาน
สำหรับบุคคลที่อยากรู้อยากเห็นการสั่งซื้อจะเป็นดังนี้:
connectStart, connectEnd, domainLookupStart, domainLookupEnd, fetchStart, navigationStart, requestStart, responseStart, domLoading, responseEnd, domContentLoadedEventStart, domInteractive, domContentLoadedEventEnd, dompleteCom, loadEventStart, loadEventEnd
สำหรับค่า 0 ที่แสดง:
unloadEventStart
และunloadEventStart
แสดงเวลาสำหรับการยกเลิกการโหลดของการโหลดหน้าก่อนหน้า (แต่เฉพาะในกรณีที่หน้านั้นมีต้นกำเนิดเดียวกันกับหน้าปัจจุบัน)
redirectEnd
และredirectStart
วัดค่าเวลาในการตอบสนองที่เพิ่มหากมีการเปลี่ยนเส้นทาง HTTP ในห่วงโซ่การโหลดหน้า
secureConnectionStart
ดูเหมือนจะเป็นการวัดทางเลือกสำหรับการวัดเวลาการเชื่อมต่อ SSL
secureConnectionStart
เป็นการวัดมาตรฐาน แต่เป็นทางเลือกสำหรับเบราว์เซอร์ (หรืออะไรก็ตามที่จัดการกับเนื้อหา) ในการรายงาน w3c-test.org/webperf/specs/NavigationTiming/…
_trackPageLoadTime
ลงในคิวจากนั้นจึงเริ่มการทำงานของฟังก์ชันทั้งหมดในคิวนั้นตามลำดับเมื่อโหลด ga.js แล้ว ช่วยให้คุณโหลดga.js
แบบอะซิงโครนัสได้อย่างปลอดภัย