Google Analytics网站速度功能_gaq.push(['_trackPageLoadTime'])
如何运作?有没有关于它是如何工作的文件?
答案 0 :(得分:181)
修改:截至2011年11月16日,the _trackPageLoadTime
function has been deprecated and its functionality has been set as a default setting。 (从功能上讲,它已经从选择加入功能变为选择退出功能。)
_setSiteSpeedSampleRate
是用于设置此功能的采样率的新功能;其默认值为1
(如1%)。要选择不使用此网站速度功能,您必须将0
传递给此功能:
_gaq.push(["_setSiteSpeedSampleRate", 0]);
来自Google Analytics Help Center:
此报告目前支持 以下浏览器:Chrome,Internet Explorer 9和以前的版本 与Google的Internet Explorer 工具栏已安装。进一步来说, 站点速度报告需要 支持HTML5的浏览器 NavigationTiming接口还是有的 Google Internet Explorer工具栏 安装
因此,它没有像许多先前的homeback解决方案那样实现自己的计时器,以确定加载页面需要多长时间。相反,它使用新的HTML5功能,目前仅在上面列出的情况下支持,称为NavigationTiming。
编辑:现在Firefox 7
支持此功能(重要的是要注意它不会在每次加载时运行;相反,它目前会对大约2%的综合浏览量进行采样,但它配置为尝试跟踪所有页面加载的10%访问;随着越来越多的浏览器支持NavigationTiming API,您可以预期总采样百分比开始接近10%。)
使用window.performance
属性(window.webkitPerformance
)在DOM对象timing
(或早期版本的Chrome,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
}
这些数字是纪元毫秒,或自1970年1月1日以来的毫秒。我没有看到任何关于它们减去哪些值来生成它们的值的文档,但是从粗略检查ga.js,它看起来像它是loadEventStart-fetchStart
:
h&&h[c]!=k&&h.isValidLoadTime?b=h[c]:e&&e[a]&&(b=e[a].loadEventStart-e[a].fetchStart);
对于上面的示例,这意味着它会在_trackPageLoadTime
调用中记录 4.14秒。
如果新的 使用HTTP获取资源 GET或等价物,fetchStart必须 返回之前的时间 用户代理开始检查任何 相关的应用程序缓存。 否则,它必须返回时间 当用户代理开始提取时 资源。
此 属性必须返回时间 紧接着加载事件之前 当前的文件被解雇了。它 load事件时必须返回零 还没被解雇。
对于好奇的派对,排序似乎如下:
connectStart,connectEnd, domainLookupStart,domainLookupEnd, fetchStart,navigationStart, requestStart,responseStart, domLoading,responseEnd, domContentLoadedEventStart, domInteractive, domContentLoadedEventEnd,domComplete, loadEventStart,loadEventEnd
对于列出的0值:
unloadEventStart
和unloadEventStart
显示上一页加载的卸载时间(但仅当该页面与当前页面具有相同的来源时才会显示。)
redirectEnd
和redirectStart
衡量在页面加载链中是否存在HTTP重定向时添加的延迟。
secureConnectionStart
似乎是衡量SSL连接时间的可选衡量标准。