Bug 164948 - run-benchmark nests MotionMark results by the suite name twice
Summary: run-benchmark nests MotionMark results by the suite name twice
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Carlos Alberto Lopez Perez
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-18 12:48 PST by Carlos Alberto Lopez Perez
Modified: 2017-01-25 20:56 PST (History)
9 users (show)

See Also:


Attachments
Patch (2.74 KB, patch)
2016-11-18 12:53 PST, Carlos Alberto Lopez Perez
no flags Details | Formatted Diff | Diff
Fixes this (1.64 KB, patch)
2017-01-23 22:01 PST, Ryosuke Niwa
sabouhallawa: review+
buildbot: commit-queue-
Details | Formatted Diff | Diff
Archive of layout-test-results from ews114 for mac-elcapitan (1.73 MB, application/zip)
2017-01-23 22:51 PST, Build Bot
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Alberto Lopez Perez 2016-11-18 12:48:35 PST
The json results generated by the Animometer benchmark when ran with the run-benchmark tool have two 


Animometer': {metrics': {Score': [Geometric']},
                 tests': {Animometer': {metrics': {Score': [Geometric']},
                                            tests': {Canvas Arcs': {metrics': {Score': {current': [1425.4671861375848]}}},
                                                       Canvas Lines': {metrics': {Score': {current': [6041.67557789635]}}},
                                                       Design': {metrics': {Score': {current': [120.42884422240773]}}},
                                                       Focus': {metrics': {Score': {current': [106.53534015865043]}}},
                                                       Images': {metrics': {Score': {current': [141.71080576796632]}}},
                                                       Leaves': {metrics': {Score': {current': [986.0850870259096]}}},
                                                       Multiply': {metrics': {Score': {current': [1080.5982243695066]}}},
                                                       Paths': {metrics': {Score': {current': [4659.013255111744]}}},
                                                       Suits': {metrics': {Score': {current': [1137.5734845930879]}}}}}}}


Notice how there is a main aggregated geometric result with name Animometer, which contains inside another result of the same type and name.

This is wrong, see the output of read-results:

$ Tools/Scripts/run-benchmark --read-results-json animometer.result 
Animometer:Score:Geometric: 250pt stdev=0.0%
          Animometer:Score:Geometric: 250pt stdev=0.0%
                    Canvas Arcs:Score: 256pt stdev=0.0%
                    Canvas Lines:Score: 967pt stdev=0.0%
                    Design:Score: 50.0pt stdev=0.0%
                    Focus:Score: 255pt stdev=0.0%
                    Images:Score: 208pt stdev=0.0%
                    Leaves:Score: 103pt stdev=0.0%
                    Multiply:Score: 336pt stdev=0.0%
                    Paths:Score: 915pt stdev=0.0%
                    Suits:Score: 184pt stdev=0.0%


Notice here how two entries with "Animometer:Score:Geometric: 250pt " appear
Comment 1 Carlos Alberto Lopez Perez 2016-11-18 12:53:27 PST
Created attachment 295180 [details]
Patch
Comment 2 Carlos Alberto Lopez Perez 2016-11-18 13:00:48 PST
After this patch the contents of the JSON file are (without the debugOutput data):

Animometer': {metrics': {Score': [Geometric']},
                 tests': {Canvas Arcs': {metrics': {Score': {current': [251.94623218197282]}}},
                            Canvas Lines': {metrics': {Score': {current': [871.206693453393]}}},
                            Design': {metrics': {Score': {current': [47.84977960868452]}}},
                            Focus': {metrics': {Score': {current': [211.9234170550923]}}},
                            Images': {metrics': {Score': {current': [199.28169278994972]}}},
                            Leaves': {metrics': {Score': {current': [101.77153542904863]}}},
                            Multiply': {metrics': {Score': {current': [335.41278407113873]}}},
                            Paths': {metrics': {Score': {current': [898.6858128956474]}}},
                            Suits': {metrics': {Score': {current': [181.91975476813016]}}}}}


$ Tools/Scripts/run-benchmark --read-results-json animometer.result 
Animometer:Score:Geometric: 238pt stdev=0.0%
          Canvas Arcs:Score: 252pt stdev=0.0%
          Canvas Lines:Score: 871pt stdev=0.0%
          Design:Score: 47.8pt stdev=0.0%
          Focus:Score: 212pt stdev=0.0%
          Images:Score: 199pt stdev=0.0%
          Leaves:Score: 102pt stdev=0.0%
          Multiply:Score: 335pt stdev=0.0%
          Paths:Score: 899pt stdev=0.0%
          Suits:Score: 182pt stdev=0.0%





And run-benchmark produces:
Comment 3 Ryosuke Niwa 2016-11-18 14:50:04 PST
Comment on attachment 295180 [details]
Patch

This isn’t quite right. Animometer allows multiple suites to be ran, and the one we’re reporting right now is the MotionMark suite.  I’ll go talk with Jon to figure out what to do here.
Comment 4 Carlos Alberto Lopez Perez 2016-11-21 10:41:30 PST
(In reply to comment #3)
> Comment on attachment 295180 [details]
> Patch
> 
> This isn’t quite right. Animometer allows multiple suites to be ran, and the
> one we’re reporting right now is the MotionMark suite.  I’ll go talk with
> Jon to figure out what to do here.

Perhaps the MotionMark suite is wrongly named as Animometer?
What about something like this?


--- a/PerformanceTests/Animometer/resources/runner/tests.js
+++ b/PerformanceTests/Animometer/resources/runner/tests.js
@@ -29,7 +29,7 @@ var Suite = function(name, tests) {
 
 var Suites = [];
 
-Suites.push(new Suite("Animometer",
+Suites.push(new Suite("MotionMark",
     [
         {
             url: "master/multiply.html",
Comment 5 Jon Lee 2016-11-29 23:20:31 PST
We do need to rename the directory to MotionMark.
Comment 6 Carlos Alberto Lopez Perez 2016-11-30 03:17:28 PST
(In reply to comment #5)
> We do need to rename the directory to MotionMark.

So the benchmark itself is named MotionMark, but the current test-suite that is ran by default is named Animometer?
Comment 7 Ryosuke Niwa 2016-12-05 14:09:38 PST
(In reply to comment #6)
> (In reply to comment #5)
> > We do need to rename the directory to MotionMark.
> 
> So the benchmark itself is named MotionMark, but the current test-suite that
> is ran by default is named Animometer?

No, it’s more that both needs to be renamed to MotionMark.  MotionMark is both a test suite that runs animation performance tests as well as a specific test suite ran by default so the fact it’s nested is actually correct.
Comment 8 Said Abou-Hallawa 2017-01-06 18:08:53 PST
The patches 

<http://trac.webkit.org/changeset/210459>
<http://trac.webkit.org/changeset/210463>

rename the directory, the patch and the plan files form Animometer to MotionMark.
Comment 9 Ryosuke Niwa 2017-01-23 22:01:00 PST
Created attachment 299574 [details]
Fixes this
Comment 10 Ryosuke Niwa 2017-01-23 22:01:23 PST
Now that the remaining tests have been moved to PerformanceTests/Animation, we can safely make this change.
Comment 11 Build Bot 2017-01-23 22:51:53 PST
Comment on attachment 299574 [details]
Fixes this

Attachment 299574 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/2939035

New failing tests:
media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html
Comment 12 Build Bot 2017-01-23 22:51:56 PST
Created attachment 299577 [details]
Archive of layout-test-results from ews114 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews114  Port: mac-elcapitan  Platform: Mac OS X 10.11.6
Comment 13 Said Abou-Hallawa 2017-01-24 09:47:27 PST
Comment on attachment 299574 [details]
Fixes this

View in context: https://bugs.webkit.org/attachment.cgi?id=299574&action=review

> Tools/ChangeLog:9
> +        since the remaining non-MotionMark tests are moved to PerformanceTests/Animation.

What are the non-MotionMark tests which are moved to PerformanceTests/Animation? Under this directory I see the same set of files unchanged for a long time.
Comment 14 Ryosuke Niwa 2017-01-24 20:04:10 PST
(In reply to comment #13)
> Comment on attachment 299574 [details]
> Fixes this
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=299574&action=review
> 
> > Tools/ChangeLog:9
> > +        since the remaining non-MotionMark tests are moved to PerformanceTests/Animation.
> 
> What are the non-MotionMark tests which are moved to
> PerformanceTests/Animation? Under this directory I see the same set of files
> unchanged for a long time.

content-animation tests. But I guess they aren't really the ones that used to be in MotionMark's directory that weren't part of the MotionMark suite.
Comment 15 Ryosuke Niwa 2017-01-25 20:56:51 PST
Committed r211202: <http://trac.webkit.org/changeset/211202>