Bug 1407398 - Run talos tp6 and ts_paint in duplication but with a heavy user-profile; r=jmaher
authorRob Wood <rwood@mozilla.com>
Thu, 12 Oct 2017 11:29:07 -0400
changeset 386616 85e56b82f49656aa6bb995d98f228dbe66cf6953
parent 386615 490375161b039f95bd0e988215acdd334f936589
child 386617 3d089604ad0d4944e7d34a0655065943a8e2f2d2
push id32698
push userarchaeopteryx@coole-files.de
push dateTue, 17 Oct 2017 21:50:01 +0000
treeherdermozilla-central@77d38f80dce6 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjmaher
bugs1407398
milestone58.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1407398 - Run talos tp6 and ts_paint in duplication but with a heavy user-profile; r=jmaher MozReview-Commit-ID: 5AL1DIz6Raq
taskcluster/ci/test/test-sets.yml
taskcluster/ci/test/tests.yml
testing/talos/talos.json
testing/talos/talos/run_tests.py
testing/talos/talos/test.py
--- a/taskcluster/ci/test/test-sets.yml
+++ b/taskcluster/ci/test/test-sets.yml
@@ -64,16 +64,18 @@ talos:
     - talos-other
     - talos-svgr
     - talos-tp5o
     - talos-perf-reftest
     - talos-perf-reftest-singletons
     - talos-tp6
     - talos-tp6-stylo-threads
     - talos-speedometer
+    - talos-h1
+    - talos-h2
 
 awsy:
     - awsy
 
 awsy-stylo-disabled:
     - awsy-stylo-disabled
 
 awsy-stylo-sequential:
@@ -191,16 +193,18 @@ windows-talos:
     - talos-perf-reftest
     - talos-perf-reftest-singletons
     - talos-svgr
     - talos-tp5o
     - talos-xperf
     - talos-tp6
     - talos-tp6-stylo-threads
     - talos-speedometer
+    - talos-h1
+    - talos-h2
 
 windows-talos-stylo-disabled:
     - talos-chrome-stylo-disabled
     - talos-dromaeojs-stylo-disabled
     - talos-g1-stylo-disabled
     - talos-g2-stylo-disabled
     - talos-g4-stylo-disabled
     - talos-g5-stylo-disabled
@@ -248,16 +252,18 @@ macosx64-talos:
     - talos-other
     - talos-svgr
     - talos-tp5o
     - talos-perf-reftest
     - talos-perf-reftest-singletons
     - talos-tp6
     - talos-tp6-stylo-threads
     - talos-speedometer
+    - talos-h1
+    - talos-h2
 
 macosx64-talos-stylo-disabled:
     - talos-chrome-stylo-disabled
     - talos-dromaeojs-stylo-disabled
     - talos-g1-stylo-disabled
     - talos-g2-stylo-disabled
     - talos-g4-stylo-disabled
     - talos-g5-stylo-disabled
--- a/taskcluster/ci/test/tests.yml
+++ b/taskcluster/ci/test/tests.yml
@@ -1514,16 +1514,70 @@ talos-g5-stylo-disabled:
                 default:
                     - talos/linux_config.py
                     - remove_executables.py
         extra-options:
             - --suite=g5-stylo-disabled
             - --add-option
             - --webServer,localhost
 
+talos-h1:
+    description: "Talos h1"
+    suite: talos
+    try-name: h1
+    treeherder-symbol: tc-T(h1)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=h1
+            - --add-option
+            - --webServer,localhost
+
+talos-h2:
+    description: "Talos h2"
+    suite: talos
+    try-name: h2
+    treeherder-symbol: tc-T(h2)
+    virtualization: hardware
+    run-on-projects:
+        by-test-platform:
+            linux64-qr/.*: ['mozilla-central', 'try']
+            default: ['mozilla-beta', 'mozilla-central', 'mozilla-inbound', 'autoland', 'try']
+    max-run-time: 3600
+    mozharness:
+        script: talos_script.py
+        no-read-buildbot-config: true
+        config:
+            by-test-platform:
+                macosx.*:
+                    - talos/mac_config.py
+                windows.*:
+                    - talos/windows_config.py
+                default:
+                    - talos/linux_config.py
+        extra-options:
+            - --suite=h2
+            - --add-option
+            - --webServer,localhost
+
 talos-other:
     description: "Talos other"
     suite: talos
     try-name: other
     treeherder-symbol: tc-T(o)
     virtualization: hardware
     run-on-projects:
         by-test-platform:
--- a/testing/talos/talos.json
+++ b/testing/talos/talos.json
@@ -145,11 +145,25 @@
             "mitmproxy_release_bin_linux64": "mitmproxy-2.0.2-linux.tar.gz",
             "mitmproxy_recording_set": "mitmproxy-recording-set-win10.zip",
             "talos_options": [
                 "--stylo-threads=1",
                 "--mitmproxy",
                 "mitmproxy-recording-google.mp mitmproxy-recording-youtube.mp mitmproxy-recording-amazon.mp mitmproxy-recording-facebook.mp",
                 "--firstNonBlankPaint"
             ]
+        },
+        "h1-e10s": {
+            "tests": ["ts_paint_heavy"]
+            },
+        "h2-e10s": {
+            "tests": ["tp6_google_heavy", "tp6_youtube_heavy", "tp6_amazon_heavy", "tp6_facebook_heavy"],
+            "mitmproxy_release_bin_osx": "mitmproxy-2.0.2-osx.tar.gz",
+            "mitmproxy_release_bin_linux64": "mitmproxy-2.0.2-linux.tar.gz",
+            "mitmproxy_recording_set": "mitmproxy-recording-set-win10.zip",
+            "talos_options": [
+                "--mitmproxy",
+                "mitmproxy-recording-google.mp mitmproxy-recording-youtube.mp mitmproxy-recording-amazon.mp mitmproxy-recording-facebook.mp",
+                "--firstNonBlankPaint"
+            ]
         }
     }
 }
--- a/testing/talos/talos/run_tests.py
+++ b/testing/talos/talos/run_tests.py
@@ -105,17 +105,19 @@ def run_tests(config, browser_config):
                 os.path.normpath('file:/%s' % (urllib.quote(test['tpmanifest'],
                                                '/\\t:\\')))
         if not test.get('url'):
             # build 'url' for tptest
             test['url'] = buildCommandLine(test)
         test['url'] = utils.interpolate(test['url'])
         test['setup'] = utils.interpolate(test['setup'])
         test['cleanup'] = utils.interpolate(test['cleanup'])
-        test['profile'] = config.get('profile')
+
+        if not test.get('profile', False):
+            test['profile'] = config.get('profile')
 
     # pass --no-remote to firefox launch, if --develop is specified
     # we do that to allow locally the user to have another running firefox
     # instance
     if browser_config['develop']:
         browser_config['extra_args'] = '--no-remote'
 
     # if using firstNonBlankPaint, must turn on pref for it
--- a/testing/talos/talos/test.py
+++ b/testing/talos/talos/test.py
@@ -103,16 +103,17 @@ class TsBase(Test):
         'gecko_profile_startup',
         'preferences',
         'xperf_counters',
         'xperf_providers',
         'xperf_user_providers',
         'xperf_stackwalk',
         'tpmozafterpaint',
         'fnbpaint',
+        'profile',
         'firstpaint',
         'userready',
         'testeventmap',
         'base_vs_ref',
         'extensions',
         'filters',
         'setup',
         'cleanup',
@@ -151,16 +152,24 @@ class ts_paint(TsBase):
 
 @register_test()
 class ts_paint_webext(ts_paint):
     webextensions = '${talos}/webextensions/dummy/dummy-signed.xpi'
     preferences = {'xpinstall.signatures.required': False}
 
 
 @register_test()
+class ts_paint_heavy(ts_paint):
+    """
+    ts_paint test ran against a heavy-user profile
+    """
+    profile = 'simple'
+
+
+@register_test()
 class sessionrestore(TsBase):
     """
     A start up test measuring the time it takes to load a sessionstore.js file.
 
     1. Set up Firefox to restore from a given sessionstore.js file.
     2. Launch Firefox.
     3. Measure the delta between firstPaint and sessionRestored.
     """
@@ -238,17 +247,17 @@ class PageloaderTest(Test):
     keys = ['tpmanifest', 'tpcycles', 'tppagecycles', 'tprender', 'tpchrome',
             'tpmozafterpaint', 'fnbpaint', 'tploadnocache', 'firstpaint', 'userready',
             'testeventmap', 'base_vs_ref', 'mainthread', 'resolution', 'cycles',
             'gecko_profile', 'gecko_profile_interval', 'gecko_profile_entries',
             'tptimeout', 'win_counters', 'w7_counters', 'linux_counters', 'mac_counters',
             'tpscrolltest', 'xperf_counters', 'timeout', 'shutdown', 'responsiveness',
             'profile_path', 'xperf_providers', 'xperf_user_providers', 'xperf_stackwalk',
             'format_pagename', 'filters', 'preferences', 'extensions', 'setup', 'cleanup',
-            'lower_is_better', 'alert_threshold', 'unit', 'webextensions']
+            'lower_is_better', 'alert_threshold', 'unit', 'webextensions', 'profile']
 
 
 class QuantumPageloadTest(PageloaderTest):
     """
     Base class for a Quantum Pageload test
     """
     tpcycles = 1
     tppagecycles = 25
@@ -912,29 +921,61 @@ class quantum_pageload_facebook(QuantumP
 class tp6_google(QuantumPageloadTest):
     """
     Quantum Pageload Test - Google
     """
     tpmanifest = '${talos}/tests/quantum_pageload/quantum_pageload_google.manifest'
 
 
 @register_test()
+class tp6_google_heavy(tp6_google):
+    """
+    tp6_google test ran against a heavy-user profile
+    """
+    profile = 'simple'
+
+
+@register_test()
 class tp6_youtube(QuantumPageloadTest):
     """
     Quantum Pageload Test - YouTube
     """
     tpmanifest = '${talos}/tests/quantum_pageload/quantum_pageload_youtube.manifest'
 
 
 @register_test()
+class tp6_youtube_heavy(tp6_youtube):
+    """
+    tp6_youtube test ran against a heavy-user profile
+    """
+    profile = 'simple'
+
+
+@register_test()
 class tp6_amazon(QuantumPageloadTest):
     """
     Quantum Pageload Test - Amazon
     """
     tpmanifest = '${talos}/tests/quantum_pageload/quantum_pageload_amazon.manifest'
 
 
 @register_test()
+class tp6_amazon_heavy(tp6_amazon):
+    """
+    tp6_amazon test ran against a heavy-user profile
+    """
+    profile = 'simple'
+
+
+@register_test()
 class tp6_facebook(QuantumPageloadTest):
     """
     Quantum Pageload Test - Facebook
     """
     tpmanifest = '${talos}/tests/quantum_pageload/quantum_pageload_facebook.manifest'
+
+
+@register_test()
+class tp6_facebook_heavy(tp6_facebook):
+    """
+    tp6_facebook test ran against a heavy-user profile
+    """
+    profile = 'simple'