timeDone在RT插件中的差异在回飞镖vc导航计时页面加载时间



我使用boomerang.js为我的网站的真实用户监控网站性能。http://lognormal.github.io/boomerang/doc/

有一个RTPluginhttp://lognormal.github.io/boomerang/doc/api/RT.html测量 timeone (感知页面加载时间)。

对于支持导航计时的浏览器,也有boomerang支持的导航计时api。使用导航计时,我们可以计算页面加载时间:

totalTime = loaddeventend - NavigationStart

https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html处理模型

totalTimetimeDone是不同的数字,当我更仔细地观察数据时,timeDone总是大于totalTime

我的问题是

  1. 哪一个是一个正确的指标来发现页面何时加载?
  2. RT插件做什么比什么导航定时捕获更多?
  3. 我们应该何时使用哪个指标,为什么?

谢谢(Kunal

很高兴在这里见到你

哪个数字是正确的取决于你测量的是什么。如果您正在测量onload触发和let boomerang自行触发事件的时间,那么这两个数字通常是相同的,因为tdone使用了上面提到的相同的数学方法。查看done()方法中的代码:

if(impl.navigationStart) {
    t_start = impl.navigationStart;
}

(https://github.com/lognormal/boomerang/blob/master/plugins/rt.js # L368)

impl。navigationStart等于window.performance.navigationStart,除非浏览器错误导致navigationStart错误或不存在。在这些情况下,boomerang会返回到其他值(参见源代码以获得更多详细信息)。

结束时间实际上是done()方法被调用的时间。默认情况下,这是在页面的onload方法中调用的,但你可以重写它。

许多站点的页面在onload事件触发之前被认为是"完成"的(用户可用的),所以你可能想在那个时候调用boomerang的BOOMR.page_ready方法。

同样,有些网站在onload之后加载所有内容,你可以等到那个时候调用page_ready。

最后一种情况是当页面被Google Chrome预渲染时。在这种情况下,onload事件触发,但页面不能被用户使用。在捕获时间之前,我们等待页面从预呈现状态移动到可见状态(在这种情况下,我们捕获所有转换)。

希望这能回答你的问题

相关内容

  • 没有找到相关文章

最新更新