Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 42ba45e1 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Perfetto a trace for the entire flicker test run" into udc-qpr-dev

parents bb3516fe 29178cbf
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -70,6 +70,7 @@ java_defaults {
    ],
    ],
    data: [
    data: [
        ":FlickerTestApp",
        ":FlickerTestApp",
        "trace_config/*",
    ],
    ],
}
}


+36 −2
Original line number Original line Diff line number Diff line
@@ -16,6 +16,9 @@
  -->
  -->
<configuration description="Runs WindowManager Shell Flicker Tests {MODULE}">
<configuration description="Runs WindowManager Shell Flicker Tests {MODULE}">
    <option name="test-tag" value="FlickerTests" />
    <option name="test-tag" value="FlickerTests" />
    <!-- Needed for storing the perfetto trace files in the sdcard/test_results-->
    <option name="isolated-storage" value="false" />

    <target_preparer class="com.android.tradefed.targetprep.DeviceSetup">
    <target_preparer class="com.android.tradefed.targetprep.DeviceSetup">
        <!-- keeps the screen on during tests -->
        <!-- keeps the screen on during tests -->
        <option name="screen-always-on" value="on" />
        <option name="screen-always-on" value="on" />
@@ -41,22 +44,53 @@
        <option name="run-command" value="settings put secure show_ime_with_hard_keyboard 1" />
        <option name="run-command" value="settings put secure show_ime_with_hard_keyboard 1" />
        <option name="run-command" value="settings put system show_touches 1" />
        <option name="run-command" value="settings put system show_touches 1" />
        <option name="run-command" value="settings put system pointer_location 1" />
        <option name="run-command" value="settings put system pointer_location 1" />
        <option name="teardown-command" value="settings delete secure show_ime_with_hard_keyboard" />
        <option name="teardown-command"
                value="settings delete secure show_ime_with_hard_keyboard" />
        <option name="teardown-command" value="settings delete system show_touches" />
        <option name="teardown-command" value="settings delete system show_touches" />
        <option name="teardown-command" value="settings delete system pointer_location" />
        <option name="teardown-command" value="settings delete system pointer_location" />
        <option name="teardown-command" value="cmd overlay enable com.android.internal.systemui.navbar.gestural" />
        <option name="teardown-command"
                value="cmd overlay enable com.android.internal.systemui.navbar.gestural" />
    </target_preparer>
    </target_preparer>
    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
        <option name="cleanup-apks" value="true"/>
        <option name="cleanup-apks" value="true"/>
        <option name="test-file-name" value="{MODULE}.apk"/>
        <option name="test-file-name" value="{MODULE}.apk"/>
        <option name="test-file-name" value="FlickerTestApp.apk" />
        <option name="test-file-name" value="FlickerTestApp.apk" />
    </target_preparer>
    </target_preparer>
    <!-- Needed for pushing the trace config file -->
    <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/>
    <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
        <option name="push-file"
                key="trace_config.textproto"
                value="/data/misc/perfetto-traces/trace_config.textproto"
        />
        <!--Install the content provider automatically when we push some file in sdcard folder.-->
        <!--Needed to avoid the installation during the test suite.-->
        <option name="push-file" key="trace_config.textproto" value="/sdcard/sample.textproto" />
    </target_preparer>
    <test class="com.android.tradefed.testtype.AndroidJUnitTest">
    <test class="com.android.tradefed.testtype.AndroidJUnitTest">
        <option name="package" value="{PACKAGE}"/>
        <option name="package" value="{PACKAGE}"/>
        <option name="shell-timeout" value="6600s" />
        <option name="shell-timeout" value="6600s" />
        <option name="test-timeout" value="6000s" />
        <option name="test-timeout" value="6000s" />
        <option name="hidden-api-checks" value="false" />
        <option name="hidden-api-checks" value="false" />
        <option name="device-listeners" value="android.device.collectors.PerfettoListener" />
        <!-- PerfettoListener related arguments -->
        <option name="instrumentation-arg" key="perfetto_config_text_proto" value="true" />
        <option name="instrumentation-arg"
                key="perfetto_config_file"
                value="trace_config.textproto"
        />
        <option name="instrumentation-arg" key="per_run" value="true" />
    </test>
    </test>
    <!-- Needed for pulling the collected trace config on to the host -->
    <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector">
        <option name="pull-pattern-keys" value="perfetto_file_path" />
    </metrics_collector>
    <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector">
        <option name="pull-pattern-keys" value="(\w)+\.winscope" />
        <option name="pull-pattern-keys" value="(\w)+\.mp4" />
        <option name="collect-on-run-ended-only" value="false" />
        <option name="clean-up" value="true" />
    </metrics_collector>
    <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector">
    <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector">
        <option name="directory-keys" value="/sdcard/flicker" />
        <option name="directory-keys" value="/sdcard/flicker" />
        <option name="collect-on-run-ended-only" value="true" />
        <option name="collect-on-run-ended-only" value="true" />
+75 −0
Original line number Original line Diff line number Diff line
# Copyright (C) 2023 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# proto-message: TraceConfig

# Enable periodic flushing of the trace buffer into the output file.
write_into_file: true

# Writes the userspace buffer into the file every 1s.
file_write_period_ms: 2500

# See b/126487238 - we need to guarantee ordering of events.
flush_period_ms: 30000

# The trace buffers needs to be big enough to hold |file_write_period_ms| of
# trace data. The trace buffer sizing depends on the number of trace categories
# enabled and the device activity.

# RSS events
buffers: {
  size_kb: 63488
  fill_policy: RING_BUFFER
}

data_sources {
  config {
    name: "linux.process_stats"
    target_buffer: 0
    # polled per-process memory counters and process/thread names.
    # If you don't want the polled counters, remove the "process_stats_config"
    # section, but keep the data source itself as it still provides on-demand
    # thread/process naming for ftrace data below.
    process_stats_config {
      scan_all_processes_on_start: true
    }
  }
}

data_sources: {
  config {
    name: "linux.ftrace"
    ftrace_config {
      ftrace_events: "ftrace/print"
      ftrace_events: "task/task_newtask"
      ftrace_events: "task/task_rename"
      atrace_categories: "ss"
      atrace_categories: "wm"
      atrace_categories: "am"
      atrace_categories: "aidl"
      atrace_categories: "input"
      atrace_categories: "binder_driver"
      atrace_categories: "sched_process_exit"
      atrace_apps: "com.android.server.wm.flicker.testapp"
      atrace_apps: "com.android.systemui"
      atrace_apps: "com.android.wm.shell.flicker"
      atrace_apps: "com.android.wm.shell.flicker.other"
      atrace_apps: "com.android.wm.shell.flicker.bubbles"
      atrace_apps: "com.android.wm.shell.flicker.pip"
      atrace_apps: "com.android.wm.shell.flicker.splitscreen"
      atrace_apps: "com.google.android.apps.nexuslauncher"
    }
  }
}
+1 −0
Original line number Original line Diff line number Diff line
@@ -83,6 +83,7 @@ java_defaults {
    ],
    ],
    data: [
    data: [
        ":FlickerTestApp",
        ":FlickerTestApp",
        "trace_config/*",
    ],
    ],
}
}


+33 −4
Original line number Original line Diff line number Diff line
@@ -4,6 +4,9 @@
 -->
 -->
<configuration description="Runs WindowManager {MODULE}">
<configuration description="Runs WindowManager {MODULE}">
    <option name="test-tag" value="FlickerTests" />
    <option name="test-tag" value="FlickerTests" />
    <!-- Needed for storing the perfetto trace files in the sdcard/test_results-->
    <option name="isolated-storage" value="false" />

    <target_preparer class="com.android.tradefed.targetprep.DeviceSetup">
    <target_preparer class="com.android.tradefed.targetprep.DeviceSetup">
        <!-- keeps the screen on during tests -->
        <!-- keeps the screen on during tests -->
        <option name="screen-always-on" value="on" />
        <option name="screen-always-on" value="on" />
@@ -29,25 +32,51 @@
        <option name="run-command" value="settings put secure show_ime_with_hard_keyboard 1" />
        <option name="run-command" value="settings put secure show_ime_with_hard_keyboard 1" />
        <option name="run-command" value="settings put system show_touches 1" />
        <option name="run-command" value="settings put system show_touches 1" />
        <option name="run-command" value="settings put system pointer_location 1" />
        <option name="run-command" value="settings put system pointer_location 1" />
        <option name="teardown-command" value="settings delete secure show_ime_with_hard_keyboard" />
        <option name="teardown-command"
                value="settings delete secure show_ime_with_hard_keyboard" />
        <option name="teardown-command" value="settings delete system show_touches" />
        <option name="teardown-command" value="settings delete system show_touches" />
        <option name="teardown-command" value="settings delete system pointer_location" />
        <option name="teardown-command" value="settings delete system pointer_location" />
        <option name="teardown-command" value="cmd overlay enable com.android.internal.systemui.navbar.gestural" />
        <option name="teardown-command"
                value="cmd overlay enable com.android.internal.systemui.navbar.gestural" />
    </target_preparer>
    </target_preparer>
    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
    <target_preparer class="com.android.tradefed.targetprep.suite.SuiteApkInstaller">
        <option name="cleanup-apks" value="true"/>
        <option name="cleanup-apks" value="true"/>
        <option name="test-file-name" value="{MODULE}.apk"/>
        <option name="test-file-name" value="{MODULE}.apk"/>
        <option name="test-file-name" value="FlickerTestApp.apk" />
        <option name="test-file-name" value="FlickerTestApp.apk" />
    </target_preparer>
    </target_preparer>
    <!-- Needed for pushing the trace config file -->
    <target_preparer class="com.android.tradefed.targetprep.RootTargetPreparer"/>
    <target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
        <option name="push-file"
                key="trace_config.textproto"
                value="/data/misc/perfetto-traces/trace_config.textproto"
        />
        <!--Install the content provider automatically when we push some file in sdcard folder.-->
        <!--Needed to avoid the installation during the test suite.-->
        <option name="push-file" key="trace_config.textproto" value="/sdcard/sample.textproto" />
    </target_preparer>
    <test class="com.android.tradefed.testtype.AndroidJUnitTest">
    <test class="com.android.tradefed.testtype.AndroidJUnitTest">
        <option name="package" value="{PACKAGE}"/>
        <option name="package" value="{PACKAGE}"/>
        <option name="shell-timeout" value="6600s" />
        <option name="shell-timeout" value="6600s" />
        <option name="test-timeout" value="6600s" />
        <option name="test-timeout" value="6600s" />
        <option name="hidden-api-checks" value="false" />
        <option name="hidden-api-checks" value="false" />
        <option name="device-listeners" value="android.device.collectors.PerfettoListener" />
        <!-- PerfettoListener related arguments -->
        <option name="instrumentation-arg" key="perfetto_config_text_proto" value="true" />
        <option name="instrumentation-arg"
                key="perfetto_config_file"
                value="trace_config.textproto"
        />
        <option name="instrumentation-arg" key="per_run" value="true" />
    </test>
    </test>
    <!-- Needed for pulling the collected trace config on to the host -->
    <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector">
        <option name="pull-pattern-keys" value="perfetto_file_path" />
    </metrics_collector>
    <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector">
    <metrics_collector class="com.android.tradefed.device.metric.FilePullerLogCollector">
        <option name="directory-keys" value="/sdcard/flicker" />
        <option name="pull-pattern-keys" value="(\w)+\.winscope" />
        <option name="collect-on-run-ended-only" value="true" />
        <option name="pull-pattern-keys" value="(\w)+\.mp4" />
        <option name="collect-on-run-ended-only" value="false" />
        <option name="clean-up" value="true" />
        <option name="clean-up" value="true" />
    </metrics_collector>
    </metrics_collector>
</configuration>
</configuration>
Loading