Bug 1654056: Rename app-link tests to VIEW and home_activity to MAIN r=acreskey,sparky,tarek
authorsachin <sraturi@sfu.ca>
Fri, 31 Jul 2020 18:54:27 +0000
changeset 542946 159df7ad75ad56d020c36f7b010a958a567b0f61
parent 542945 59448e5759d83b20e84d9df356f4574d88b4fdfc
child 542947 801b59414882378eff04a7e5ac0b27a8c91fd59d
push id37657
push usernerli@mozilla.com
push dateSat, 01 Aug 2020 09:48:10 +0000
treeherdermozilla-central@750bc4c5c4ad [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersacreskey, sparky, tarek
bugs1654056
milestone81.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 1654056: Rename app-link tests to VIEW and home_activity to MAIN r=acreskey,sparky,tarek Rename app-link tests to VIEW and home_activity to MAIN Differential Revision: https://phabricator.services.mozilla.com/D84400
taskcluster/ci/perftest/android.yml
testing/performance/hooks_android_main.py
testing/performance/hooks_android_view.py
testing/performance/hooks_applink.py
testing/performance/hooks_home_activity.py
testing/performance/perftest_android_main.js
testing/performance/perftest_android_view.js
testing/performance/perftest_applink.js
testing/performance/perftest_home_activity.js
--- a/taskcluster/ci/perftest/android.yml
+++ b/taskcluster/ci/perftest/android.yml
@@ -27,21 +27,21 @@ hw-g5:
 
 hw-p2:
     worker-type: t-bitbar-gw-perf-p2
     description: Run ./mach perftest on a Pixel 2
     treeherder:
         symbol: perftest-p2
     platform: android-hw-p2-8-0-android-aarch64/opt
 
-hw-g5-applink-fenix:
+hw-g5-view-fenix:
     worker-type: t-bitbar-gw-perf-g5
-    description: Run applink perftest on Fenix on a G5
+    description: Run VIEW perftest on Fenix on a G5
     treeherder:
-        symbol: perftest(applink-fenix)
+        symbol: perftest(view-fenix)
     platform: android-hw-g5-7-0-arm7-api-16/opt
     attributes:
         cron: true
         batch: true
     run:
         command: >-
             mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
             cd $GECKO_PATH &&
@@ -49,32 +49,32 @@ hw-g5-applink-fenix:
             --flavor mobile-browser
             --android
             --android-app-name org.mozilla.fenix
             --android-activity org.mozilla.fenix.IntentReceiverActivity
             --android-clear-logcat
             --android-capture-logcat logcat
             --perfherder-metrics processLaunchToNavStart
             --android-install-apk fenix_nightlysim_multicommit_armeabi_v7a
-            --hooks testing/performance/hooks_applink.py
+            --hooks testing/performance/hooks_android_view.py
             --perfherder
             --perfherder-app fenix
             --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
             --browsertime-iterations 14
             --profile-conditioned
             --profile-conditioned-scenario settled
             --profile-conditioned-platform g5-fenix.nightly
             --output $MOZ_FETCHES_DIR/../artifacts
-            testing/performance/perftest_applink.js
+            testing/performance/perftest_android_view.js
 
-hw-p2-applink-fenix:
+hw-p2-view-fenix:
     worker-type: t-bitbar-gw-perf-p2
-    description: Run applink perftest on Fenix on a Pixel2
+    description: Run VIEW perftest on Fenix on a Pixel2
     treeherder:
-        symbol: perftest(applink-fenix)
+        symbol: perftest(view-fenix)
     platform: android-hw-p2-8-0-android-aarch64/opt
     attributes:
         cron: true
         batch: true
     run:
         command: >-
             mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
             cd $GECKO_PATH &&
@@ -83,64 +83,64 @@ hw-p2-applink-fenix:
             --android
             --android-app-name org.mozilla.fenix
             --perfherder-metrics processLaunchToNavStart
             --android-install-apk fenix_nightlysim_multicommit_arm64_v8a
             --android-activity org.mozilla.fenix.IntentReceiverActivity
             --android-clear-logcat
             --android-capture-logcat logcat
             --android-perf-tuning
-            --hooks testing/performance/hooks_applink.py
+            --hooks testing/performance/hooks_android_view.py
             --perfherder
             --perfherder-app fenix
             --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
             --browsertime-iterations 14
             --profile-conditioned
             --profile-conditioned-scenario settled
             --profile-conditioned-platform p2_aarch64-fenix.nightly
             --output $MOZ_FETCHES_DIR/../artifacts
-            testing/performance/perftest_applink.js
+            testing/performance/perftest_android_view.js
 
-hw-g5-applink-gv:
+hw-g5-view-gv:
     worker-type: t-bitbar-gw-perf-g5
-    description: Run applink perftest on GV on a G5
+    description: Run VIEW perftest on GV on a G5
     treeherder:
-        symbol: perftest(applink-gv)
+        symbol: perftest(view-gv)
     platform: android-hw-g5-7-0-arm7-api-16/opt
     attributes:
         cron: true
     run:
         command: >-
             mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
             cd $GECKO_PATH &&
             python3 python/mozperftest/mozperftest/runner.py
             --flavor mobile-browser
             --android
             --android-app-name org.mozilla.geckoview_example
             --android-activity org.mozilla.geckoview_example.GeckoViewActivity
             --android-clear-logcat
             --android-capture-logcat logcat
             --perfherder-metrics processLaunchToNavStart
             --android-install-apk gve_nightly_api16
-            --hooks testing/performance/hooks_applink.py
+            --hooks testing/performance/hooks_android_view.py
             --perfherder
             --perfherder-app geckoview
             --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
             --browsertime-iterations 14
             --profile-conditioned
             --profile-conditioned-scenario settled
             --profile-conditioned-platform g5-geckoview_example
             --output $MOZ_FETCHES_DIR/../artifacts
-            testing/performance/perftest_applink.js
+            testing/performance/perftest_android_view.js
 
-hw-p2-applink-gv:
+hw-p2-view-gv:
     worker-type: t-bitbar-gw-perf-p2
-    description: Run applink perftest on GV on a Pixel 2
+    description: Run VIEW perftest on GV on a Pixel 2
     treeherder:
-        symbol: perftest(applink-gv)
+        symbol: perftest(view-gv)
     platform: android-hw-p2-8-0-android-aarch64/opt
     attributes:
         cron: true
     run:
         command: >-
             mkdir -p $MOZ_FETCHES_DIR/../artifacts &&
             cd $GECKO_PATH &&
             python3 python/mozperftest/mozperftest/runner.py
@@ -148,26 +148,26 @@ hw-p2-applink-gv:
             --android
             --android-clear-logcat
             --android-capture-logcat logcat
             --android-app-name org.mozilla.geckoview_example
             --android-activity org.mozilla.geckoview_example.GeckoViewActivity
             --android-perf-tuning
             --perfherder-metrics processLaunchToNavStart
             --android-install-apk gve_nightly_api16
-            --hooks testing/performance/hooks_applink.py
+            --hooks testing/performance/hooks_android_view.py
             --perfherder
             --perfherder-app geckoview
             --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
             --browsertime-iterations 14
             --profile-conditioned
             --profile-conditioned-scenario settled
             --profile-conditioned-platform p2_aarch64-geckoview_example
             --output $MOZ_FETCHES_DIR/../artifacts
-            testing/performance/perftest_applink.js
+            testing/performance/perftest_android_view.js
 
 android-hw-g5-applink-refbrow:
     worker-type: t-bitbar-gw-perf-g5
     description: Run applink perftest on the Reference Browser on a G5
     treeherder:
         symbol: perftest(applink-refbrow)
     platform: android-hw-g5-7-0-arm7-api-16/opt
     attributes:
@@ -243,26 +243,26 @@ hw-g5-main-fenix:
             --android-activity .App
             --android-clear-logcat
             --android-capture-logcat logcat
             --androidlog
             --androidlog-first-timestamp ".*Start proc.*org\.mozilla\..*\..*App.*"
             --androidlog-second-timestamp ".*Fully drawn.*org\.mozilla\..*"
             --androidlog-subtest-name "MAIN"
             --android-install-apk fenix_nightly_armeabi_v7a
-            --hooks testing/performance/hooks_home_activity.py
+            --hooks testing/performance/hooks_android_main.py
             --perfherder
             --perfherder-app fenix
             --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
             --output $MOZ_FETCHES_DIR/../artifacts
             --browsertime-iterations 14
             --profile-conditioned
             --profile-conditioned-scenario settled
             --profile-conditioned-platform g5-fenix.nightly
-            testing/performance/perftest_home_activity.js
+            testing/performance/perftest_android_main.js
 
 hw-p2-main-fenix:
     worker-type: t-bitbar-gw-perf-p2
     description: Run main (home activity) perftest on Fenix on a Pixel 2
     treeherder:
         symbol: perftest(main-fenix)
     platform: android-hw-p2-8-0-android-aarch64/opt
     attributes:
@@ -279,18 +279,18 @@ hw-p2-main-fenix:
             --android-clear-logcat
             --android-capture-logcat logcat
             --android-perf-tuning
             --androidlog
             --androidlog-first-timestamp ".*Start proc.*org\.mozilla\..*\..*App.*"
             --androidlog-second-timestamp ".*Fully drawn.*org\.mozilla\..*"
             --androidlog-subtest-name "MAIN"
             --android-install-apk fenix_nightly_arm64_v8a
-            --hooks testing/performance/hooks_home_activity.py
+            --hooks testing/performance/hooks_android_main.py
             --perfherder
             --perfherder-app fenix
             --browsertime-geckodriver ${MOZ_FETCHES_DIR}/geckodriver
             --output $MOZ_FETCHES_DIR/../artifacts
             --browsertime-iterations 14
             --profile-conditioned
             --profile-conditioned-scenario settled
             --profile-conditioned-platform p2_aarch64-fenix.nightly
-            testing/performance/perftest_home_activity.js
+            testing/performance/perftest_android_main.js
new file mode 100644
--- /dev/null
+++ b/testing/performance/hooks_android_main.py
@@ -0,0 +1,32 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+from mozperftest.test.browsertime import add_options
+from mozperftest.test.browsertime.runner import NodeException
+
+
+common_options = [
+    ("firefox.disableBrowsertimeExtension", "true"),
+    # The webdriver session is not created in the MAIN test so reduce the timeout
+    # Bug 1640638
+    ("timeouts.browserStart", "20000"),
+    ("browserRestartTries", "1"),
+    # Explicitly disable the Onboarding flow
+    ("firefox.android.intentArgument", "'--ez'"),
+    ("firefox.android.intentArgument", "'performancetest'"),
+    ("firefox.android.intentArgument", "'true'"),
+]
+
+
+def on_exception(env, layer, exc):
+    if not isinstance(exc, NodeException):
+        raise exc
+    return True
+
+
+def logcat_processor():
+    pass
+
+
+def before_runs(env, **kw):
+    add_options(env, common_options)
rename from testing/performance/hooks_applink.py
rename to testing/performance/hooks_android_view.py
deleted file mode 100644
--- a/testing/performance/hooks_home_activity.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-from mozperftest.test.browsertime import add_options
-from mozperftest.test.browsertime.runner import NodeException
-
-
-common_options = [
-    ("firefox.disableBrowsertimeExtension", "true"),
-    # The webdriver session is not created in the HomeActivity test so reduce the timeout
-    # Bug 1640638
-    ("timeouts.browserStart", "20000"),
-    ("browserRestartTries", "1"),
-    # Explicitly disable the Onboarding flow
-    ("firefox.android.intentArgument", "'--ez'"),
-    ("firefox.android.intentArgument", "'performancetest'"),
-    ("firefox.android.intentArgument", "'true'"),
-]
-
-
-def on_exception(env, layer, exc):
-    if not isinstance(exc, NodeException):
-        raise exc
-    return True
-
-
-def logcat_processor():
-    pass
-
-
-def before_runs(env, **kw):
-    add_options(env, common_options)
new file mode 100644
--- /dev/null
+++ b/testing/performance/perftest_android_main.js
@@ -0,0 +1,31 @@
+/* eslint-env node */
+
+async function test(context, commands) {
+  "use strict";
+  // Nothing to do -- the timing is captured via logcat
+  return true;
+}
+
+module.exports = {
+  test,
+  owner: "Performance Team",
+  name: "main",
+  description:
+    "Measures the time from process start until the Fenix main activity (HomeActivity) reports Fully Drawn",
+  longDescription: `
+  This test launches Fenix to its main activity (HomeActivity).
+  The application logs "Fully Drawn" when the activity is drawn.
+  Using the android log transformer we measure the time from process start to this event.
+  `,
+  usage: `
+    ./mach perftest testing/performance/perftest_android_main.js --android --flavor mobile-browser \
+    --hooks testing/performance/hooks_home_activity.py --perfherder --android-app-name  org.mozilla.fenix \
+    --android-activity .App --android-install-apk ~/Downloads/fenix.apk --android-clear-logcat \
+    --android-capture-logcat logcat \
+    --androidlog-first-timestamp ".*Start proc.*org\.mozilla\.fenix.*\.App.*" \
+    --androidlog-second-timestamp ".*Fully drawn.*org\.mozilla\.fenix.*" \
+    --androidlog-subtest-name "MAIN" --androidlog
+  `,
+  supportedBrowsers: ["Fenix nightly"],
+  supportedPlatforms: ["Android"],
+};
new file mode 100644
--- /dev/null
+++ b/testing/performance/perftest_android_view.js
@@ -0,0 +1,44 @@
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
+/* eslint-env node */
+"use strict";
+
+async function test(context, commands) {
+  await commands.measure.start();
+  await commands.measure.browser.wait(commands.measure.pageCompleteCheck);
+  await commands.measure.stop();
+
+  const browserScripts = commands.measure.result[0].browserScripts;
+
+  const processLaunchToNavStart =
+    browserScripts.pageinfo.navigationStartTime -
+    browserScripts.browser.processStartTime;
+
+  browserScripts.pageinfo.processLaunchToNavStart = processLaunchToNavStart;
+  console.log("processLaunchToNavStart: " + processLaunchToNavStart);
+
+  return true;
+}
+
+module.exports = {
+  test,
+  owner: "Performance Team",
+  name: "VIEW",
+  description: "Measures cold process view time",
+  longDescription: `
+  This test launches the appropriate android app, simulating a opening a link through VIEW intent
+  workflow. The application is launched with the intent action
+  android.intent.action.VIEW loading a trivially simple website. The reported
+  metric is the time from process start to navigationStart, reported as processLaunchToNavStart
+  `,
+  usage: `
+  ./mach perftest testing/performance/perftest_android_view.js \
+    --android-install-apk ~/fenix.v2.fennec-nightly.2020.04.22-arm32.apk \
+    --hooks testing/performance/hooks_android_view.py \
+    --android-app-name org.mozilla.fenix \
+    --perfherder-metrics processLaunchToNavStart
+  `,
+  supportedBrowsers: ["Fenix nightly", "Geckoview_example", "Fennec"],
+  supportedPlatforms: ["Android"],
+};
deleted file mode 100644
--- a/testing/performance/perftest_applink.js
+++ /dev/null
@@ -1,44 +0,0 @@
-// This Source Code Form is subject to the terms of the Mozilla Public
-// License, v. 2.0. If a copy of the MPL was not distributed with this
-// file, You can obtain one at http://mozilla.org/MPL/2.0/.
-/* eslint-env node */
-"use strict";
-
-async function test(context, commands) {
-  await commands.measure.start();
-  await commands.measure.browser.wait(commands.measure.pageCompleteCheck);
-  await commands.measure.stop();
-
-  const browserScripts = commands.measure.result[0].browserScripts;
-
-  const processLaunchToNavStart =
-    browserScripts.pageinfo.navigationStartTime -
-    browserScripts.browser.processStartTime;
-
-  browserScripts.pageinfo.processLaunchToNavStart = processLaunchToNavStart;
-  console.log("processLaunchToNavStart: " + processLaunchToNavStart);
-
-  return true;
-}
-
-module.exports = {
-  test,
-  owner: "Performance Team",
-  name: "App-link",
-  description: "Measures cold process applink time",
-  longDescription: `
-  This test launches the appropriate android app, simulating an app link
-  workflow. The application is launched with the intent action
-  android.intent.action.VIEW loading a trivially simple website. The reported
-  metric is the time from process start to navigationStart, reported as processLaunchToNavStart
-  `,
-  usage: `
-  ./mach perftest testing/performance/perftest_applink.js \
-    --android-install-apk ~/fenix.v2.fennec-nightly.2020.04.22-arm32.apk \
-    --hooks testing/performance/hooks_applink.py \
-    --android-app-name org.mozilla.fennec_aurora \
-    --perfherder-metrics processLaunchToNavStart
-  `,
-  supportedBrowsers: ["Fenix nightly", "Geckoview_example", "Fennec"],
-  supportedPlatforms: ["Android"],
-};
deleted file mode 100644
--- a/testing/performance/perftest_home_activity.js
+++ /dev/null
@@ -1,31 +0,0 @@
-/* eslint-env node */
-
-async function test(context, commands) {
-  "use strict";
-  // Nothing to do -- the timing is captured via logcat
-  return true;
-}
-
-module.exports = {
-  test,
-  owner: "Performance Team",
-  name: "HomeActivity",
-  description:
-    "Measures the time from process start until the Fenix HomeActivity reports Fully Drawn",
-  longDescription: `
-  This test launches Fenix to its MAIN activity.
-  The application logs "Fully Drawn" when the Home Activity is drawn.
-  Using the android log transformer we measure the time from process start to this event.
-  `,
-  usage: `
-    ./mach perftest testing/performance/perftest_home_activity.js --android --flavor mobile-browser \
-    --hooks testing/performance/hooks_home_activity.py --perfherder --android-app-name  org.mozilla.fennec_aurora \
-    --android-activity .App --android-install-apk ~/Downloads/fenix.apk --android-clear-logcat \
-    --android-capture-logcat home_activity_log.txt \
-    --androidlog-first-timestamp ".*Start proc.*org\.mozilla\.fenix.*\.App.*" \
-    --androidlog-second-timestamp ".*Fully drawn.*org\.mozilla\.fenix.*" \
-    --androidlog-subtest-name "MAIN" --androidlog
-  `,
-  supportedBrowsers: ["Fenix nightly"],
-  supportedPlatforms: ["Android"],
-};