Perf dashboard should show the results of A/B testing
[WebKit-https.git] / Websites / perf.webkit.org / public / v2 / data.js
index 208575e..dd86d95 100755 (executable)
@@ -242,6 +242,11 @@ Measurement.prototype.latestCommitTime = function()
     return this._latestCommitTime || this._buildTime;
 }
 
+Measurement.prototype.buildId = function()
+{
+    return this._raw['build'];
+}
+
 Measurement.prototype.buildNumber = function ()
 {
     return this._raw['buildNumber'];
@@ -315,10 +320,13 @@ RunsData.prototype.timeSeriesByBuildTime = function ()
 
 // FIXME: We need to devise a way to fetch runs in multiple chunks so that
 // we don't have to fetch the entire time series to just show the last 3 days.
-RunsData.fetchRuns = function (platformId, metricId)
+RunsData.fetchRuns = function (platformId, metricId, testGroupId)
 {
     var filename = platformId + '-' + metricId + '.json';
 
+    if (testGroupId)
+        filename += '?testGroup=' + testGroupId;
+
     return new Ember.RSVP.Promise(function (resolve, reject) {
         $.getJSON('../api/runs/' + filename, function (data) {
             if (data.status != 'OK') {
@@ -355,6 +363,11 @@ function TimeSeries(series)
     this._max = max;
 }
 
+TimeSeries.prototype.findPointByBuild = function (buildId)
+{
+    return this._series.find(function (point) { return point.measurement.buildId() == buildId; })
+}
+
 TimeSeries.prototype.findPointByMeasurementId = function (measurementId)
 {
     return this._series.find(function (point) { return point.measurement.id() == measurementId; });