New perf dashboard should have multiple dashboard pages
[WebKit-https.git] / Websites / perf.webkit.org / public / v2 / data.js
index 3d10e382a3b23093aa7b5e38ae9f3850471f8f79..dfe3133d323746e1130835086753d4d782761a1b 100755 (executable)
@@ -44,8 +44,7 @@ PrivilegedAPI._post = function (url, parameters)
             else
                 resolve(data);
         }).fail(function (xhr, status, error) {
-            console.log(xhr);
-            reject(xhr.status + (error ? ', ' + error : ''));
+            reject(xhr.status + (error ? ', ' + error : '') + '\n\nWith response:\n' + xhr.responseText);
         });
     });
 }
@@ -77,8 +76,6 @@ CommitLogs.fetchForTimeRange = function (repository, from, to, keyword)
             return new Ember.RSVP.Promise(function (resolve) { resolve(cachedCommitsForRange); });
     }
 
-    console.log('Fecthing ' + url);
-
     return new Ember.RSVP.Promise(function (resolve, reject) {
         $.getJSON(url, function (data) {
             if (data.status != 'OK') {
@@ -144,8 +141,8 @@ function Measurement(rawData)
         revisions = {};
     this._raw['revisions'] = revisions;
 
-    for (var repositoryName in revisions) {
-        var commitTimeOrUndefined = revisions[repositoryName][1]; // e.g. ["162190", 1389945046000]
+    for (var repositoryId in revisions) {
+        var commitTimeOrUndefined = revisions[repositoryId][1]; // e.g. ["162190", 1389945046000]
         if (latestTime < commitTimeOrUndefined)
             latestTime = commitTimeOrUndefined;
     }
@@ -155,10 +152,10 @@ function Measurement(rawData)
     this._formattedRevisions = undefined;
 }
 
-Measurement.prototype.commitTimeForRepository = function (repositoryName)
+Measurement.prototype.commitTimeForRepository = function (repositoryId)
 {
     var revisions = this._raw['revisions'];
-    var rawData = revisions[repositoryName];
+    var rawData = revisions[repositoryId];
     if (!rawData)
         return null;
     return new Date(rawData[1]);
@@ -169,11 +166,11 @@ Measurement.prototype.formattedRevisions = function (previousMeasurement)
     var revisions = this._raw['revisions'];
     var previousRevisions = previousMeasurement ? previousMeasurement._raw['revisions'] : null;
     var formattedRevisions = {};
-    for (var repositoryName in revisions) {
-        var currentRevision = revisions[repositoryName][0];
-        var previousRevision = previousRevisions ? previousRevisions[repositoryName][0] : null;
+    for (var repositoryId in revisions) {
+        var currentRevision = revisions[repositoryId][0];
+        var previousRevision = previousRevisions ? previousRevisions[repositoryId][0] : null;
         var formatttedRevision = this._formatRevisionRange(previousRevision, currentRevision);
-        formattedRevisions[repositoryName] = formatttedRevision;
+        formattedRevisions[repositoryId] = formatttedRevision;
     }
 
     return formattedRevisions;
@@ -281,23 +278,6 @@ Measurement.prototype.hasBugs = function ()
     return bugs && Object.keys(bugs).length;
 }
 
-Measurement.prototype.associateBug = function (trackerId, bugNumber)
-{
-    var bugs = this._raw['bugs'];
-    trackerId = parseInt(trackerId);
-    bugNumber = bugNumber ? parseInt(bugNumber) : null;
-    return PrivilegedAPI.sendRequest('associate-bug', {
-        run: this.id(),
-        tracker: trackerId,
-        bugNumber: bugNumber,
-    }).then(function () {
-        if (bugNumber)
-            bugs[trackerId] = bugNumber;
-        else
-            delete bugs[trackerId];
-    });
-}
-
 function RunsData(rawData)
 {
     this._measurements = rawData.map(function (run) { return new Measurement(run); });
@@ -380,6 +360,11 @@ TimeSeries.prototype.findPointByMeasurementId = function (measurementId)
     return this._series.find(function (point) { return point.measurement.id() == measurementId; });
 }
 
+TimeSeries.prototype.findPointAfterTime = function (time)
+{
+    return this._series.find(function (point) { return point.time >= time; });
+}
+
 TimeSeries.prototype.seriesBetweenPoints = function (startPoint, endPoint)
 {
     if (!startPoint.seriesIndex || !endPoint.seriesIndex)
@@ -420,9 +405,23 @@ TimeSeries.prototype.minMaxForTimeRange = function (startTime, endTime)
 
 TimeSeries.prototype.series = function () { return this._series; }
 
+TimeSeries.prototype.lastPoint = function ()
+{
+    if (!this._series || !this._series.length)
+        return null;
+    return this._series[this._series.length - 1];
+}
+
 TimeSeries.prototype.previousPoint = function (point)
 {
     if (!point.seriesIndex)
         return null;
     return this._series[point.seriesIndex - 1];
 }
+
+TimeSeries.prototype.nextPoint = function (point)
+{
+    if (!point.seriesIndex)
+        return null;
+    return this._series[point.seriesIndex + 1];
+}