Analysis results viewer sometimes doesn't show the correct relative difference
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Jan 2016 22:48:22 +0000 (22:48 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 12 Jan 2016 22:48:22 +0000 (22:48 +0000)
https://bugs.webkit.org/show_bug.cgi?id=152930

Reviewed by Chris Dumez.

The bug was caused by single A/B testing result associated with multiple rows when there are multiple data
points with the same root set which matches that of an A/B testing.

Fixed the bug by detecting such a case, and only associating each A/B testing result with the row created
for the first matching point.

* public/v3/components/analysis-results-viewer.js:
(AnalysisResultsViewer.prototype._buildRowsForPointsAndTestGroups):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@194929 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Websites/perf.webkit.org/ChangeLog
Websites/perf.webkit.org/public/v3/components/analysis-results-viewer.js

index 9620318..0b570be 100644 (file)
@@ -1,3 +1,19 @@
+2016-01-12  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Analysis results viewer sometimes doesn't show the correct relative difference
+        https://bugs.webkit.org/show_bug.cgi?id=152930
+
+        Reviewed by Chris Dumez.
+
+        The bug was caused by single A/B testing result associated with multiple rows when there are multiple data
+        points with the same root set which matches that of an A/B testing.
+
+        Fixed the bug by detecting such a case, and only associating each A/B testing result with the row created
+        for the first matching point.
+
+        * public/v3/components/analysis-results-viewer.js:
+        (AnalysisResultsViewer.prototype._buildRowsForPointsAndTestGroups):
+
 2016-01-08  Ryosuke Niwa  <rniwa@webkit.org>
 
         Make v3 UI analysis task page is hard to understand
index 6a0fd7c..bdefa4e 100644 (file)
@@ -155,7 +155,7 @@ class AnalysisResultsViewer extends ResultsTable {
             var rootSetInPoint = point.rootSet();
             var matchingRootSets = [];
             for (var entry of rootSetsInTestGroups) {
-                if (rootSetInPoint.equals(entry.rootSet())) {
+                if (rootSetInPoint.equals(entry.rootSet()) && !rootSetsWithPoints.has(entry)) {
                     matchingRootSets.push(entry);
                     rootSetsWithPoints.add(entry);
                 }