使用 Boomerang 库与 Resource Timing 的优势 API

Advantage of using Boomerang library vs Resource Timing API

我正在开发一个项目,该项目在后端使用 Node.js,在前端使用 Angular.js,我需要捕获不同资源的页面加载统计信息跨不同浏览器的应用程序。我能够使用 Resource Timing API and storing the resulting JSON object on the server. But after reading this question on SO, I learned about Boomerang 库收集基本统计数据,但现在我有点困惑。使用 Boomerang 相对于 Resource Timing API 对于单页应用程序(即内置 Angular )?

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

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

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

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