Fixed
Status Update
Comments
ma...@google.com <ma...@google.com>
ma...@google.com <ma...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit f77729e0a8f12090e7cc26617034eb968f4dcd80
Author: Chris Craik <ccraik@google.com>
Date: Thu Jul 15 14:55:19 2021
Reduce sleep waiting for perfetto to be killed
Fixes: 193723768
Relnote: """Drastically reduced retry polling speed when stopping
tracing, which can reduce e.g. startup benchmark runtime by 30+%"""
Test: TrivialStartupBenchmark
Killing perfetto takes somewhere on the order of 10s of ms, but we
were waiting 5 full seconds if it didn't die immediately (which was
true approximately 50% of the time, though it depends on
circumstances).
Improved TrivialStartupBenchmark from 2m18s -> 1m35s, a 31% reduction
in runtime. (Bramble running R)
Conservatively increased max retry count, though in practice never saw
two retries in a row, even with 100ms timeout.
Change-Id: Idfbc18c4c997d2d78292b14a44d405d11fe7b43e
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoHelper.kt
https://android-review.googlesource.com/1768972
Branch: androidx-main
commit f77729e0a8f12090e7cc26617034eb968f4dcd80
Author: Chris Craik <ccraik@google.com>
Date: Thu Jul 15 14:55:19 2021
Reduce sleep waiting for perfetto to be killed
Fixes: 193723768
Relnote: """Drastically reduced retry polling speed when stopping
tracing, which can reduce e.g. startup benchmark runtime by 30+%"""
Test: TrivialStartupBenchmark
Killing perfetto takes somewhere on the order of 10s of ms, but we
were waiting 5 full seconds if it didn't die immediately (which was
true approximately 50% of the time, though it depends on
circumstances).
Improved TrivialStartupBenchmark from 2m18s -> 1m35s, a 31% reduction
in runtime. (Bramble running R)
Conservatively increased max retry count, though in practice never saw
two retries in a row, even with 100ms timeout.
Change-Id: Idfbc18c4c997d2d78292b14a44d405d11fe7b43e
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/PerfettoHelper.kt
ma...@google.com <ma...@google.com>
ma...@google.com <ma...@google.com> #3
Found the issue, fix should be in the next 1.3 release.
Thank you!
ma...@google.com <ma...@google.com>
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit c16b952992febb4660bd9158d7c9813b5c9bbd87
Author: Marcello Albano <maralb@google.com>
Date: Mon Jun 03 13:13:02 2024
Ensure merge art and startup profiles always waits for profile generation
Test: added
Bug: 343086054
Change-Id: I623d65b8fedc7abb1d22fb2ca016582703f51176
M benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerPlugin.kt
M benchmark/baseline-profile-gradle-plugin/src/test/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerPluginTest.kt
M benchmark/integration-tests/baselineprofile-producer/src/main/java/androidx/benchmark/integration/baselineprofile/producer/BaselineProfileTest.kt
https://android-review.googlesource.com/3111647
Branch: androidx-main
commit c16b952992febb4660bd9158d7c9813b5c9bbd87
Author: Marcello Albano <maralb@google.com>
Date: Mon Jun 03 13:13:02 2024
Ensure merge art and startup profiles always waits for profile generation
Test: added
Bug: 343086054
Change-Id: I623d65b8fedc7abb1d22fb2ca016582703f51176
M benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerPlugin.kt
M benchmark/baseline-profile-gradle-plugin/src/test/kotlin/androidx/baselineprofile/gradle/consumer/BaselineProfileConsumerPluginTest.kt
M benchmark/integration-tests/baselineprofile-producer/src/main/java/androidx/benchmark/integration/baselineprofile/producer/BaselineProfileTest.kt
an...@sigma.software <an...@sigma.software> #5
Thanks. I also kindly ask you to escalate 342316793. For my team it's a very severe issue that causes problems when running baseline generation in CI env.
pr...@google.com <pr...@google.com> #6
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.benchmark:benchmark-baseline-profile-gradle-plugin:1.3.0-beta01
Description
Version used: 1.2.4 and 1.3.0-alpha05
Devices/Android versions reproduced on: Emulator Pixel 6 API 33
This issue occurs in my project with single flavor dimension, as well as in Now in Android -
To reproduce: execute tasks "generate<Flavor>ReleaseBaselineProfile assemble<Flavor>Release" together.
It also reproduces if you execute single task "assemble<Flavor>Release" with automaticGenerationDuringBuild = true
Error log (from Now in Android):
* What went wrong:
A problem was found with the configuration of task ':app:copyDemoReleaseBaselineProfileIntoSrc' (type 'MergeBaselineProfileTask').
- Gradle detected a problem with the following location: '.../nowinandroid/app/src/demoRelease/generated/baselineProfiles'.
Reason: Task ':app:mergeDemoReleaseStartupProfile' uses this output of task ':app:copyDemoReleaseBaselineProfileIntoSrc' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.
Possible solutions:
1. Declare task ':app:copyDemoReleaseBaselineProfileIntoSrc' as an input of ':app:mergeDemoReleaseStartupProfile'.
2. Declare an explicit dependency on ':app:copyDemoReleaseBaselineProfileIntoSrc' from ':app:mergeDemoReleaseStartupProfile' using Task#dependsOn.
3. Declare an explicit dependency on ':app:copyDemoReleaseBaselineProfileIntoSrc' from ':app:mergeDemoReleaseStartupProfile' using Task#mustRunAfter.