Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Unified Diff: Tools/GardeningServer/model/ct-failures.html

Issue 476903004: [sheriff-o-matic]: Basic trooper display for sheriff-o-matic. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Tools/GardeningServer/model/ct-failures.html
diff --git a/Tools/GardeningServer/model/ct-failures.html b/Tools/GardeningServer/model/ct-failures.html
index 962708cedf34f7a966caf0e41373fcf07b92c841..4343c577e14ee0d64c7e99344f5a81a7170cadce 100644
--- a/Tools/GardeningServer/model/ct-failures.html
+++ b/Tools/GardeningServer/model/ct-failures.html
@@ -9,6 +9,8 @@ found in the LICENSE file.
<link rel="import" href="ct-builder-revisions.html">
<link rel="import" href="ct-failure.html">
<link rel="import" href="ct-failure-group.html">
+<link rel="import" href="ct-sheriff-failure-group-data.html">
+<link rel="import" href="ct-trooper-failure-group-data.html">
<link rel="import" href="ct-commit-list.html">
<script>
@@ -38,13 +40,15 @@ function CTFailures(commitLog) {
};
}
+// FIXME: This could potentially move onto CTSheriffFailureGroupData as it isn't relevant to
+// trooper failures.
// Reverse sorting order, if a > b, return a negative number.
CTFailures.prototype._failureByTreeListComparator = function(tree, a, b) {
if (tree === undefined)
tree = 'chromium';
- var rev_a = a.commitList.revisions;
- var rev_b = b.commitList.revisions;
+ var rev_a = a.data.commitList.revisions;
+ var rev_b = b.data.commitList.revisions;
if (!rev_a || !Object.keys(rev_a).length) {
if (!rev_b || !Object.keys(rev_b).length)
@@ -79,25 +83,28 @@ CTFailures.prototype._failureByTreeListComparator = function(tree, a, b) {
CTFailures.prototype.update = function() {
var annotationPromise = CTFailureGroup.fetchAnnotations();
-
- return net.json('http://sheriff-o-matic.appspot.com/alerts').then(function(data) {
- return annotationPromise.then(function(annotations) {
- // FIXME: Don't special-case the blink master.
- this.builderLatestRevisions = new CTBuilderRevisions(data.latest_builder_info['chromium.webkit']);
- var newFailures = {};
- this.lastUpdateDate = new Date(data.date * 1000);
- // Update |failures| with the appropriate CTFailureGroup's for each
- // tree.
- data.range_groups.forEach(function(rangeGroup) {
- this._processFailuresForRangeGroup(newFailures, rangeGroup, data.alerts, annotations);
- }.bind(this));
- // Sort failure groups so that newer failures are shown at the top
- // of the UI.
- Object.keys(newFailures, function (tree, failuresByTree) {
- failuresByTree.sort(this._failureByTreeListComparator.bind(this, tree));
- }.bind(this));
- this.failures = updateUtil.updateLeft(this.failures, newFailures);
+ return Promise.all([annotationPromise, net.json('http://sheriff-o-matic.appspot.com/alerts'),
+ net.json('http://trooper-o-matic.appspot.com/alerts')]).then(function(data_array) {
+ var annotations = data_array[0];
+ var sheriff_data = data_array[1];
+ var trooper_data = data_array[2];
+
+ // FIXME: Don't special-case the blink master.
+ this.builderLatestRevisions = new CTBuilderRevisions(sheriff_data.latest_builder_info['chromium.webkit']);
+ var newFailures = {};
+ this.lastUpdateDate = new Date(sheriff_data.date * 1000);
+ // Update |failures| with the appropriate CTFailureGroup's for each
+ // tree.
+ sheriff_data.range_groups.forEach(function(rangeGroup) {
+ this._processFailuresForRangeGroup(newFailures, rangeGroup, sheriff_data.alerts, annotations);
+ }.bind(this));
+ // Sort failure groups so that newer failures are shown at the top
+ // of the UI.
+ Object.keys(newFailures, function (tree, failuresByTree) {
+ failuresByTree.sort(this._failureByTreeListComparator.bind(this, tree));
}.bind(this));
+ this.failures = updateUtil.updateLeft(this.failures, newFailures);
+ this._processTrooperFailures(trooper_data);
}.bind(this));
};
@@ -113,6 +120,19 @@ CTFailures.prototype._failureComparator = function(a, b) {
return 0;
};
+CTFailures.prototype._processTrooperFailures = function(data) {
+ var trooper_failures = [];
+ Object.keys(data, function(failureType, failuresByTree) {
+ Object.keys(failuresByTree, function(tree, failure) {
+ if (failure.should_alert) {
+ trooper_failures.push(new CTFailureGroup('',
+ new CTTrooperFailureGroupData(failure.details, failure.url, failure, failureType, tree)));
+ }
+ });
+ });
+ this.failures['trooper'] = trooper_failures;
+};
+
CTFailures.prototype._processFailuresForRangeGroup = function(newFailures, rangeGroup, alerts, annotations) {
var masterToTree = {};
Object.keys(this._trees, function(tree, masters) {
@@ -188,7 +208,7 @@ CTFailures.prototype._processFailuresForRangeGroup = function(newFailures, range
if (!newFailures[tree])
newFailures[tree] = [];
var commitList = new CTCommitList(this.commitLog, rangeGroup.likely_revisions);
- newFailures[tree].push(new CTFailureGroup(rangeGroup.sort_key, failures, commitList));
+ newFailures[tree].push(new CTFailureGroup(rangeGroup.sort_key, new CTSheriffFailureGroupData(failures, commitList)));
}.bind(this));
};
« no previous file with comments | « Tools/GardeningServer/model/ct-failure-group.html ('k') | Tools/GardeningServer/model/ct-sheriff-failure-group-data.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698