Created
May 5, 2015 16:23
-
-
Save wlach/061d8a87b12fe32bd79a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/webapp/app/js/graphs.js b/webapp/app/js/graphs.js | |
index 17ac2f8..a638d69 100644 | |
--- a/webapp/app/js/graphs.js | |
+++ b/webapp/app/js/graphs.js | |
@@ -7,11 +7,12 @@ | |
perf.controller('GraphsCtrl', [ | |
'$state', '$stateParams', '$scope', '$rootScope', '$location', '$modal', | |
'thServiceDomain', '$http', '$q', '$timeout', 'PhSeries', | |
- 'ThRepositoryModel', 'ThOptionCollectionModel', 'phTimeRanges', | |
+ 'ThRepositoryModel', 'ThOptionCollectionModel', 'ThResultSetModel', | |
+ 'phTimeRanges', | |
function GraphsCtrl($state, $stateParams, $scope, $rootScope, $location, | |
$modal, thServiceDomain, $http, $q, $timeout, PhSeries, | |
ThRepositoryModel, ThOptionCollectionModel, | |
- phTimeRanges) { | |
+ ThResultSetModel, phTimeRanges) { | |
var availableColors = [ 'red', 'green', 'blue', 'orange', 'purple' ]; | |
var optionCollectionMap = null; | |
@@ -100,19 +101,22 @@ perf.controller('GraphsCtrl', [ | |
date: $.plot.formatDate(new Date(t), '%a %b %d, %H:%M:%S') | |
}; | |
- $http.get(thServiceDomain + '/api/project/' + phSeries.projectName + | |
- '/resultset/' + dataPoint.resultSetId).then( | |
- function(response) { | |
- var revision = response.data.revisions[0].revision; | |
- $scope.tooltipContent.revision = revision; | |
- dataPoint.revision = revision; | |
- }); | |
- $http.get(thServiceDomain + '/api/project/' + phSeries.projectName + | |
- '/resultset/' + prevResultSetId).then( | |
- function(response) { | |
- var prevRevision = response.data.revisions[0].revision; | |
- $scope.tooltipContent.prevRevision = prevRevision; | |
- }); | |
+ // Get revision information for both this datapoint and the previous | |
+ // one | |
+ _.each([{ resultSetId: dataPoint.resultSetId, | |
+ scopeKey: 'revision' }, | |
+ { resultSetId: prevResultSetId, | |
+ scopeKey: 'prevRevision' }], | |
+ function(resultRevision) { | |
+ ThResultSetModel.getRevisions( | |
+ phSeries.projectName, resultRevision.resultSetId).then( | |
+ function(revisions) { | |
+ $scope.tooltipContent[resultRevision.scopeKey] = | |
+ revisions[0]; | |
+ }, function(error) { | |
+ console.log("Failed to get revision: " + error); | |
+ }); | |
+ }); | |
// now position it | |
$timeout(function() { | |
diff --git a/webapp/app/js/models/resultset.js b/webapp/app/js/models/resultset.js | |
index 14cc718..cfec85e 100644 | |
--- a/webapp/app/js/models/resultset.js | |
+++ b/webapp/app/js/models/resultset.js | |
@@ -133,6 +133,46 @@ treeherder.factory('ThResultSetModel', ['$rootScope', '$http', '$location', '$q' | |
); | |
return jobsPromiseList; | |
}, | |
+ | |
+ getRevisions: function(projectName, resultSetId) { | |
+ var defer = $q.defer(); | |
+ $http.get(thUrl.getProjectUrl( | |
+ "/resultset/" + resultSetId, projectName)).then( | |
+ function(response) { | |
+ if (response.data.revisions.length > 0) { | |
+ defer.resolve( | |
+ _.map(response.data.revisions, function(r) { | |
+ return r.revision; | |
+ })); | |
+ } else { | |
+ defer.reject("Can't find result set: " + | |
+ resultSetId); | |
+ } | |
+ }, function(error) { | |
+ defer.reject("Failed to get result set: " + error); | |
+ }); | |
+ | |
+ return defer.promise; | |
+ }, | |
+ | |
+ getResultSetId: function(projectName, revision) { | |
+ var defer = $q.defer(); | |
+ $http.get(thUrl.getProjectUrl( | |
+ "/resultset/?revision=" + revision, projectName)).then( | |
+ function(response) { | |
+ if (response.data.results.length > 0) { | |
+ defer.resolve(response.data.results[0].id); | |
+ } else { | |
+ defer.reject("Can't find result set for revision: " + | |
+ revision); | |
+ } | |
+ }, function(error) { | |
+ defer.reject("Failed to get result set for revision: " + | |
+ error); | |
+ }); | |
+ return defer.promise; | |
+ }, | |
+ | |
cancelAll: function(resultset_id, repoName) { | |
var uri = resultset_id + '/cancel_all/'; | |
return $http.post(thUrl.getProjectUrl("/resultset/", repoName) + uri); | |
diff --git a/webapp/app/perf.html b/webapp/app/perf.html | |
index 1fb0dc5..c3fdd44 100644 | |
--- a/webapp/app/perf.html | |
+++ b/webapp/app/perf.html | |
@@ -42,6 +42,8 @@ | |
<script src="js/services/main.js"></script> | |
<script src="js/services/log.js"></script> | |
<script src="js/models/repository.js"></script> | |
+ <script src="js/models/job.js"></script> | |
+ <script src="js/models/resultset.js"></script> | |
<script src="js/perf.js"></script> | |
<script src="js/compareperf.js"></script> | |
<script src="js/graphs.js"></script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment