【发布时间】:2014-10-08 08:18:11
【问题描述】:
我们正在构建一个 Angular 应用程序,并试图弄清楚如何获得一些关于渲染各种页面所需时间的基准。我读过关于 performance.timing here 的文章,但这似乎只对非单页应用程序有用,因为当我导航到我们应用程序中的新视图时,计时数字不会改变。
理想情况下,我们可以插入一些代码来获取各种视图的渲染时间,并将其发布到我们的 Big Query 服务中。
关于如何在 Angular 应用中获取视图的时间信息有什么想法吗?
编辑:
更具体地说,您转到加载大型 ng-repeat 列表的路由(这对于性能而言不是最佳的),并且窗口在实际呈现列表中的项目之前有很长的延迟。我们想看看从大空白视图到呈现列表中的项目需要多长时间。
【问题讨论】:
-
您到底想测量什么?有一些内置事件,例如
$routeChangeStart和$routeChangeSuccess。也许您可以订阅它们并使用User Timing API 记录时间。 -
我得看看这些事件到底捕捉到了什么。我在上面添加了更多细节的编辑。
-
@runTarm 通过您的参考,我找到了
$viewContentLoaded,这可能就是我要找的! -
仍未解决。
$viewContentLoaded在我们转到路由时立即触发,而不是在实际呈现内容时触发。
标签: javascript angularjs performance performance-testing