使用Boomerang库与Resource Timing API的优势

Tim*_*mka 3 javascript timing node.js angularjs boomerang

我正在开发一个Node.js在后端使用的项目,Angular.js作为前端,我需要跨不同的浏览器捕获应用程序的不同资源的页面加载统计信息.我能够通过使用Resource Timing API并将结果JSON对象存储在服务器上来收集基本统计信息.但在阅读了这个关于SO的问题之后,我了解了Boomerang库,现在我有点困惑.对于单页面应用程序(即内置Angular),使用Boomerang而不是Resource Timing API有什么优势?

Nic*_*icJ 7

Boomerang是一个开源库,用于衡量真实用户的页面加载体验,通常称为真实用户监控(RUM).Boomerang测量页面加载体验的许多方面,包括主页面的所有可用网络时序(DNS,TCP,请求,响应)以及其他重要的环境特征,例如用户代理信息等.

Boomerang最初开发用于帮助监控"传统"页面加载,您访问的每个页面都会启动新的浏览器导航.在像Angular.js这样的单页面应用程序(SPA)场景中,访问者在获取新内容时不再进行完整的浏览器导航,因为Angular会根据需要通过XHR提取所需的部分并将其注入DOM.今天SPA场景中的Boomerang将监视初始页面加载,但后续SPA页面都没有加载.

如果您正在使用ResourceTiming收集您感兴趣的资源网络统计信息,并且只关心这些统计信息,那么您将不需要Boomerang.但是,如果您有兴趣收集有关用户的整个页面加载体验的更多信息,B​​oomerang会收集有关页面加载体验和信标的更多信息回到您的服务器.

Boomerang拥有强大的插件基础架构,支持扩展以适应您想要的任何场景.虽然它目前没有"支持"开箱即用的SPA软页面加载导航,但目前正在开发一个插件来帮助SPA.