Title: [173027] trunk/Tools
Revision
173027
Author
a...@apple.com
Date
2014-08-27 15:35:18 -0700 (Wed, 27 Aug 2014)

Log Message

https://bugs.webkit.org/show_bug.cgi?id=136317
Dashboard metrics page sometimes shows 0 for best time

Reviewed by Tim Horton.

This also affects regular dashboard display in a good way - iterations that failed
due to infrastructure misbehavior will more reliably show up as yellow and not red.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration): Added a list of steps that we actually care about. It will need to be
updated if we rename steps.
(BuildbotIteration.prototype.get productive): Now that computation is more involved,
do it once.
(BuildbotIteration.prototype._parseData): Tweak computation of "productive" - builds
that failed e.g. at downloading built archive step are not productive.

Modified Paths

Diff

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


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js	2014-08-27 22:34:02 UTC (rev 173026)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js	2014-08-27 22:35:18 UTC (rev 173027)
@@ -41,6 +41,7 @@
 
     this.loaded = false;
     this.isLoading = false;
+    this._productive = false;
 
     this.openSourceRevision = null;
     this.internalRevision = null;
@@ -66,6 +67,20 @@
 BuildbotIteration.EXCEPTION = 4;
 BuildbotIteration.RETRY = 5;
 
+// If none of these steps ran, then we didn't get any real results, and the iteration was not productive.
+BuildbotIteration.ProductiveSteps = {
+    "compile-webkit": 1,
+    "build archive": 1,
+    "Build" : 1,
+    "layout-test": 1,
+    "jscore-test": 1,
+    "run-api-tests": 1,
+    "API tests": 1,
+    "webkitpy-test": 1,
+    "webkitperl-test": 1,
+    "bindings-generation-tests": 1,
+};
+
 BuildbotIteration.Event = {
     Updated: "updated",
     UnauthorizedAccess: "unauthorized-access"
@@ -106,7 +121,7 @@
 
     get productive()
     {
-        return this.loaded && this._finished && this._result !== BuildbotIteration.EXCEPTION && this._result !== BuildbotIteration.RETRY;
+        return this._productive;
     },
 
     // It is not a real failure if Buildbot itself failed with codes like EXCEPTION or RETRY.
@@ -172,7 +187,7 @@
             var testResults = {};
 
             if (!testStep.isFinished) {
-                // The step never even ran, or hasn't finish running.
+                // The step never even ran, or hasn't finished running.
                 testResults.finished = false;
                 return testResults;
             }
@@ -275,6 +290,21 @@
         if (!data.currentStep)
             this.finished = true;
 
+        this._productive = this._finished && this._result !== BuildbotIteration.EXCEPTION && this._result !== BuildbotIteration.RETRY;
+        if (this._productive) {
+            var finishedAnyProductiveStep = false;
+            for (var i = 0; i < data.steps.length; ++i) {
+                var step = data.steps[i];
+                if (!step.isFinished)
+                    break;
+                if (step.name in BuildbotIteration.ProductiveSteps) {
+                    finishedAnyProductiveStep = true;
+                    break;
+                }
+            }
+            this._productive = finishedAnyProductiveStep;
+        }
+
         // Update the sorting since it is based on the revisions we just loaded.
         this.queue.sortIterations();
     },

Modified: trunk/Tools/ChangeLog (173026 => 173027)


--- trunk/Tools/ChangeLog	2014-08-27 22:34:02 UTC (rev 173026)
+++ trunk/Tools/ChangeLog	2014-08-27 22:35:18 UTC (rev 173027)
@@ -1,3 +1,21 @@
+2014-08-27  Alexey Proskuryakov  <a...@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=136317
+        Dashboard metrics page sometimes shows 0 for best time
+
+        Reviewed by Tim Horton.
+
+        This also affects regular dashboard display in a good way - iterations that failed
+        due to infrastructure misbehavior will more reliably show up as yellow and not red.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
+        (BuildbotIteration): Added a list of steps that we actually care about. It will need to be
+        updated if we rename steps.
+        (BuildbotIteration.prototype.get productive): Now that computation is more involved,
+        do it once.
+        (BuildbotIteration.prototype._parseData): Tweak computation of "productive" - builds
+        that failed e.g. at downloading built archive step are not productive.
+
 2014-08-27  Brent Fulgham  <bfulg...@apple.com>
 
         [Win] Unreviewed gardening.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to