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