Title: [173322] trunk/Tools
Revision
173322
Author
a...@apple.com
Date
2014-09-05 12:09:08 -0700 (Fri, 05 Sep 2014)

Log Message

Dashboard metrics page wastes a lot of time sorting iterations
https://bugs.webkit.org/show_bug.cgi?id=136559

Reviewed by Tim Horton.

Also fixes comments here and there, and adds a missing "var".

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration.prototype._parseData):
(BuildbotIteration.prototype._updateWithData):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue.prototype.loadAll):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:
(Analyzer.prototype._countTimes):

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js (173321 => 173322)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js	2014-09-05 18:57:06 UTC (rev 173321)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js	2014-09-05 19:09:08 UTC (rev 173322)
@@ -308,9 +308,6 @@
             }
             this._productive = finishedAnyProductiveStep;
         }
-
-        // Update the sorting since it is based on the revisions we just loaded.
-        this.queue.sortIterations();
     },
 
     _updateWithData: function(data)
@@ -319,6 +316,10 @@
             return;
 
         this._parseData(data);
+
+        // Update the sorting since it is based on the revision numbers that just became known.
+        this.queue.sortIterations();
+
         this.dispatchEventToListeners(BuildbotIteration.Event.Updated);
     },
 

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js (173321 => 173322)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js	2014-09-05 18:57:06 UTC (rev 173321)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js	2014-09-05 19:09:08 UTC (rev 173322)
@@ -222,11 +222,13 @@
         this._load(this.allIterationsURL, function(data) {
             for (var idString in data) {
                 console.assert(typeof idString === "string");
-                iteration = new BuildbotIteration(this, data[idString]);
+                var iteration = new BuildbotIteration(this, data[idString]);
                 this.iterations.push(iteration);
                 this._knownIterations[iteration.id] = iteration;
             }
 
+            this.sortIterations();
+
             callback(this);
         }.bind(this));
     },

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js (173321 => 173322)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js	2014-09-05 18:57:06 UTC (rev 173321)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js	2014-09-05 19:09:08 UTC (rev 173322)
@@ -230,7 +230,7 @@
         iterationsByRevision.sort(function(a, b) { return a.endTime - b.endTime; }); // When there are multiple iterations building the same revision, the first one wins (as the other ones were probably manual retries).
         iterationsByRevision.sort(function(a, b) { return a.openSourceRevision - b.openSourceRevision; });
 
-        // Revisions that landed within the period.
+        // Revisions that landed within the time range.
         var revisions = webkitTrac.recordedCommits.reduce(function(result, revision) {
             if (revision.date >= this._rangeStartTime && revision.date < this._rangeEndTime)
                 result[revision.revisionNumber] = revision;
@@ -269,8 +269,10 @@
         var ownTimes = [];
         for (var revisionNumber in revisions) {
             var revision = revisions[revisionNumber];
-            if (!("elapsedTime" in revision))
+            if (!("elapsedTime" in revision)) {
+                // A revision that landed within the time range didn't necessarily get all results by the range end.
                 continue;
+            }
             // Changes on other branches are irrelevant, as they are not built or tested.
             // FIXME: Support metrics for non-trunk queues.
             if (!revision.containsBranchLocation || revision.branch === "trunk") {

Modified: trunk/Tools/ChangeLog (173321 => 173322)


--- trunk/Tools/ChangeLog	2014-09-05 18:57:06 UTC (rev 173321)
+++ trunk/Tools/ChangeLog	2014-09-05 19:09:08 UTC (rev 173322)
@@ -1,3 +1,20 @@
+2014-09-04  Alexey Proskuryakov  <a...@apple.com>
+
+        Dashboard metrics page wastes a lot of time sorting iterations
+        https://bugs.webkit.org/show_bug.cgi?id=136559
+
+        Reviewed by Tim Horton.
+
+        Also fixes comments here and there, and adds a missing "var".
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
+        (BuildbotIteration.prototype._parseData):
+        (BuildbotIteration.prototype._updateWithData):
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
+        (BuildbotQueue.prototype.loadAll):
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:
+        (Analyzer.prototype._countTimes):
+
 2014-09-05  Carlos Alberto Lopez Perez  <clo...@igalia.com>
 
         [GTK] Unreviewed GTK gardening.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to