diff options
author | TYM Tsai <tymtsai@google.com> | 2020-08-12 06:37:42 +0800 |
---|---|---|
committer | TYM Tsai <tymtsai@google.com> | 2020-08-12 06:37:42 +0800 |
commit | 501de005dc43625ce41ecf959c3b7a92b8683dbe (patch) | |
tree | 640741a9e7e6af7ded80247b789a12f92dedaa01 | |
parent | 6abd9378ff68e7e834fbfa001705ab48a8cc8a4b (diff) |
Enable prefetto trace for Content Capture performance test
Follow Crystalball guide to setup prefetto trace collection config
for atest command.
Bug: 162034662
Test: atest ContentCapturePerfTests
Change-Id: I8e33a28dfc89be9d2258f09c0b68213edf2d283a
-rw-r--r-- | apct-tests/perftests/contentcapture/Android.bp | 3 | ||||
-rw-r--r-- | apct-tests/perftests/contentcapture/AndroidManifest.xml | 5 | ||||
-rw-r--r-- | apct-tests/perftests/contentcapture/AndroidTest.xml | 32 |
3 files changed, 34 insertions, 6 deletions
diff --git a/apct-tests/perftests/contentcapture/Android.bp b/apct-tests/perftests/contentcapture/Android.bp index 66d7348008ab..19a66ad9f27b 100644 --- a/apct-tests/perftests/contentcapture/Android.bp +++ b/apct-tests/perftests/contentcapture/Android.bp @@ -20,9 +20,10 @@ android_test { "androidx.test.rules", "androidx.annotation_annotation", "apct-perftests-utils", - "collector-device-lib-platform", + "collector-device-lib", "compatibility-device-util-axt", ], platform_apis: true, test_suites: ["device-tests"], + data: [":perfetto_artifacts"], } diff --git a/apct-tests/perftests/contentcapture/AndroidManifest.xml b/apct-tests/perftests/contentcapture/AndroidManifest.xml index ee5577f265fa..80957c78abf3 100644 --- a/apct-tests/perftests/contentcapture/AndroidManifest.xml +++ b/apct-tests/perftests/contentcapture/AndroidManifest.xml @@ -16,11 +16,6 @@ <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.perftests.contentcapture"> - <uses-sdk android:targetSdkVersion="28" /> - - <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> - <uses-permission android:name="android.permission.REAL_GET_TASKS" /> - <application> <uses-library android:name="android.test.runner" /> <activity android:name="android.view.contentcapture.CustomTestActivity" diff --git a/apct-tests/perftests/contentcapture/AndroidTest.xml b/apct-tests/perftests/contentcapture/AndroidTest.xml index d2386bb1efea..d8e0a17d3935 100644 --- a/apct-tests/perftests/contentcapture/AndroidTest.xml +++ b/apct-tests/perftests/contentcapture/AndroidTest.xml @@ -21,7 +21,39 @@ <option name="test-file-name" value="ContentCapturePerfTests.apk" /> </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_detailed.textproto" value="/data/misc/perfetto-traces/trace_config.textproto" /> + </target_preparer> + + <!-- 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> + + <!-- Needed for storing the perfetto trace files in the sdcard/test_results--> + <option name="isolated-storage" value="false" /> + <test class="com.android.tradefed.testtype.AndroidJUnitTest" > <option name="package" value="com.android.perftests.contentcapture" /> + + <!-- Listener related args for collecting the traces and waiting for the device to stabilize. --> + <option name="device-listeners" value="android.device.collectors.ProcLoadListener,android.device.collectors.PerfettoListener" /> + <!-- Guarantee that user defined RunListeners will be running before any of the default listeners defined in this runner. --> + <option name="instrumentation-arg" key="newRunListenerMode" value="true" /> + + <!-- ProcLoadListener related arguments --> + <!-- Wait for device last minute threshold to reach 3 with 2 minute timeout before starting the test run --> + <option name="instrumentation-arg" key="procload-collector:per_run" value="true" /> + <option name="instrumentation-arg" key="proc-loadavg-threshold" value="3" /> + <option name="instrumentation-arg" key="proc-loadavg-timeout" value="120000" /> + <option name="instrumentation-arg" key="proc-loadavg-interval" value="10000" /> + + <!-- 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="newRunListenerMode" value="true" /> </test> </configuration> |