Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
With this change
The things we need to tackle after this CL lands are:
- Follow up on this CL (
https://android-review.googlesource.com/c/platform/external/perfetto/+/1680145 ). The binaries checked in, include this change but currently its failing presubmits because of a compiler warning. Something primiano@ is currently looking into. - Expand trace_processor_shells ABI support to include arm, and x86_64. Remove the explicit checks for API Q.
- Remove the use of @RequiresApi(29) in MacrobenchmarkRule / Lower it to API 21, andexplicit checks for API Q.
- verifyTraceEnabled(...) does seem to cause issues on lower versions of the platform. Something we need to investigate further. This does not happen consistently though.
- Fix our perfetto trace configs. There are options that are unsupported on older versions of the platform.
- M, and N dont support several ART compilation modes. No op on them.
pr...@google.com <pr...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 22fe26bc907af50d557254d406eb38469a7bb81b
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Fri Apr 16 11:15:58 2021
Add unbundled perfetto support.
With this change, we are much closer in bringing Macrobenchmarks to API 21.
The things we need to tackle after this CL lands are:
* Follow up on this CL (https://android-review.googlesource.com/c/platform/external/perfetto/+/1680145 ).
The binaries checked in, include this change but currently its failing presubmits because of a compiler warning.
Something primiano@ is currently looking into.
* Expand trace_processor_shells ABI support to include arm, and x86_64.
Remove the explicit checks for API Q.
* Remove the use of @RequiresApi(...) in MacrobenchmarkRule, and explicit checks for API Q.
* verifyTraceEnabled(...) does seem to cause issues on lower versions of the platform. Something we need to investigate further.
This does not happen consistently though.
* Fix our perfetto trace configs. There are options that are unsupported on older versions of the platform.
* M, and N dont support several ART compilation modes. No op on them.
Test: PerfettoCaptureTest is now parameterized
Bug: b/183129298
Change-Id: I888fa15e02acc4f99fbf548722a11a9953988357
M benchmark/macro/build.gradle
M benchmark/macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoCaptureTest.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCapture.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCaptureWrapper.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoHelper.kt
https://android-review.googlesource.com/1675367
Branch: androidx-main
commit 22fe26bc907af50d557254d406eb38469a7bb81b
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Fri Apr 16 11:15:58 2021
Add unbundled perfetto support.
With this change, we are much closer in bringing Macrobenchmarks to API 21.
The things we need to tackle after this CL lands are:
* Follow up on this CL (
The binaries checked in, include this change but currently its failing presubmits because of a compiler warning.
Something primiano@ is currently looking into.
* Expand trace_processor_shells ABI support to include arm, and x86_64.
Remove the explicit checks for API Q.
* Remove the use of @RequiresApi(...) in MacrobenchmarkRule, and explicit checks for API Q.
* verifyTraceEnabled(...) does seem to cause issues on lower versions of the platform. Something we need to investigate further.
This does not happen consistently though.
* Fix our perfetto trace configs. There are options that are unsupported on older versions of the platform.
* M, and N dont support several ART compilation modes. No op on them.
Test: PerfettoCaptureTest is now parameterized
Bug:
Change-Id: I888fa15e02acc4f99fbf548722a11a9953988357
M benchmark/macro/build.gradle
M benchmark/macro/src/androidTest/java/androidx/benchmark/macro/perfetto/PerfettoCaptureTest.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCapture.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoCaptureWrapper.kt
M benchmark/macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoHelper.kt
Description
Logcat:https://paste.googleplex.com/4815901388177408
Able to repro (though the crash itself is infrequent), added some tracing to see that it takes us 9 seconds to stop simpleperf, 5.4s of which is converting simpleperf to the stable output format that studio requires. See screenshot.
Have a fix that will defer this conversion off the main thread, which reduces ANR risk (and should avoid need for tweaking ANR avoidance hard deadline).