Title: [174655] trunk/Tools
Revision
174655
Author
[email protected]
Date
2014-10-13 11:46:30 -0700 (Mon, 13 Oct 2014)

Log Message

Add more detailed wait time information to EWS metrics
https://bugs.webkit.org/show_bug.cgi?id=137649

Reviewed by Daniel Bates.

Added average and worst time (we used to only have median), and also a percentage
of patches that took a non-trivial time to start. Non-trivial is defined as 3 minutes.

There is always some wait due to the polling nature of the queues, which is well understood
and doesn't need to be measured. What needs to be measured is whether there is enough
bot machines to process patches as soon as they are submitted.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:
(Analyzer.prototype._analyzeBubblePerformance):
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsBubbleView.js:
(MetricsBubbleView.prototype._update):

Modified Paths

Diff

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


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js	2014-10-13 18:28:25 UTC (rev 174654)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js	2014-10-13 18:46:30 UTC (rev 174655)
@@ -393,6 +393,7 @@
         }
 
         var waitTimes = [];
+        var patchesThatWaitedMoreThan3Minutes = [];
         var totalTimes = [];
         var totalTimesForPatchesThatWereNotRetried = [];
         var totalTimesForPatchesThatSpinnedAndPassedOrFailed = [];
@@ -408,6 +409,9 @@
             // Wait time is equally interesting for all patches.
             waitTimes.push(patch.wait_duration);
 
+            if (patch.wait_duration > 3 * 60)
+                patchesThatWaitedMoreThan3Minutes.push(patchID);
+
             if (patch.resolution === "not processed")
                 patchesThatDidNotComplete.push(patchID);
 
@@ -449,6 +453,8 @@
             averageTotalTimeForPatchesThatSpinnedAndPassedOrFailedInSeconds: totalTimesForPatchesThatSpinnedAndPassedOrFailed.average(),
             medianWaitTimeInSeconds: waitTimes.median(),
             averageWaitTimeInSeconds: waitTimes.average(),
+            maximumWaitTimeInSeconds: Math.max.apply(Math, waitTimes),
+            patchesThatWaitedMoreThan3MinutesCount: patchesThatWaitedMoreThan3Minutes.length,
             patchesThatCausedInternalError: patchesThatCausedInternalError,
         };
 

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsBubbleView.js (174654 => 174655)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsBubbleView.js	2014-10-13 18:28:25 UTC (rev 174654)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsBubbleView.js	2014-10-13 18:46:30 UTC (rev 174655)
@@ -162,7 +162,12 @@
         }
 
         addDivider(this.element);
-        addLine(this.element, "Median wait time before processing started: " + pluralizeMinutes(this._results.medianWaitTimeInSeconds) + ".");
+        addLine(this.element, "Wait time before processing started:");
+        addLine(this.element, "- median: " + pluralizeMinutes(this._results.medianWaitTimeInSeconds) + ";");
+        addLine(this.element, "- average: " + pluralizeMinutes(this._results.averageWaitTimeInSeconds) + ".");
+        addLine(this.element, "- worst: " + pluralizeMinutes(this._results.maximumWaitTimeInSeconds) + ".");
+        if (this._results.medianWaitTimeInSeconds < 3 * 60 && this._results.patchesThatWaitedMoreThan3MinutesCount)
+            addLine(this.element, formatPercentage(this._results.patchesThatWaitedMoreThan3MinutesCount / this._results.totalPatches) + " of patches had a wait time of more than 3 minutes.");
 
         if (this._results.patchesThatCausedInternalError.length) {
             addDivider(this.element);

Modified: trunk/Tools/ChangeLog (174654 => 174655)


--- trunk/Tools/ChangeLog	2014-10-13 18:28:25 UTC (rev 174654)
+++ trunk/Tools/ChangeLog	2014-10-13 18:46:30 UTC (rev 174655)
@@ -1,3 +1,22 @@
+2014-10-13  Alexey Proskuryakov  <[email protected]>
+
+        Add more detailed wait time information to EWS metrics
+        https://bugs.webkit.org/show_bug.cgi?id=137649
+
+        Reviewed by Daniel Bates.
+
+        Added average and worst time (we used to only have median), and also a percentage
+        of patches that took a non-trivial time to start. Non-trivial is defined as 3 minutes.
+
+        There is always some wait due to the polling nature of the queues, which is well understood
+        and doesn't need to be measured. What needs to be measured is whether there is enough
+        bot machines to process patches as soon as they are submitted.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:
+        (Analyzer.prototype._analyzeBubblePerformance):
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsBubbleView.js:
+        (MetricsBubbleView.prototype._update):
+
 2014-10-11  Jer Noble  <[email protected]>
 
         MediaPlayer::characteristicChanged() is not called when new tracks are found in SourceBufferPrivateAVFObjC
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to