Reading the list of analysis tasks is extremely slow
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 18 Jun 2015 04:05:50 +0000 (04:05 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 18 Jun 2015 04:05:50 +0000 (04:05 +0000)
https://bugs.webkit.org/show_bug.cgi?id=146086

Reviewed by Darin Adler.

The bug was caused by Ember data requesting manifest.js hundreds of times.
Fetch it ahead of time in each route instead.

* public/v2/app.js:
(App.AnalysisRoute.model):
(App.AnalysisTaskRoute.model):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185690 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Websites/perf.webkit.org/ChangeLog
Websites/perf.webkit.org/public/v2/app.js

index 7a16e5a..0678eaf 100644 (file)
@@ -1,5 +1,19 @@
 2015-06-17  Ryosuke Niwa  <rniwa@webkit.org>
 
+        Reading the list of analysis tasks is extremely slow
+        https://bugs.webkit.org/show_bug.cgi?id=146086
+
+        Reviewed by Darin Adler.
+
+        The bug was caused by Ember data requesting manifest.js hundreds of times.
+        Fetch it ahead of time in each route instead.
+
+        * public/v2/app.js:
+        (App.AnalysisRoute.model):
+        (App.AnalysisTaskRoute.model):
+
+2015-06-17  Ryosuke Niwa  <rniwa@webkit.org>
+
         Update ReadMe.md and Install.md per database changes
         https://bugs.webkit.org/show_bug.cgi?id=146076
 
index f80cb9a..3d76cc0 100755 (executable)
@@ -1185,8 +1185,11 @@ App.PaneController = Ember.ObjectController.extend({
 
 App.AnalysisRoute = Ember.Route.extend({
     model: function () {
-        return this.store.findAll('analysisTask').then(function (tasks) {
-            return Ember.Object.create({'tasks': tasks.sortBy('createdAt').toArray().reverse()});
+        var store = this.store;
+        return App.Manifest.fetch(store).then(function () {
+            return store.findAll('analysisTask').then(function (tasks) {
+                return Ember.Object.create({'tasks': tasks.sortBy('createdAt').toArray().reverse()});
+            });
         });
     },
 });
@@ -1194,7 +1197,10 @@ App.AnalysisRoute = Ember.Route.extend({
 App.AnalysisTaskRoute = Ember.Route.extend({
     model: function (param)
     {
-        return this.store.find('analysisTask', param.taskId);
+        var store = this.store;
+        return App.Manifest.fetch(store).then(function () {
+            return store.find('analysisTask', param.taskId);
+        });
     },
 });