Verified
Status Update
Comments
cc...@google.com <cc...@google.com> #2
See also
cc...@google.com <cc...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 1a48f33d2d01d135a0d647f83b1baaac10499ef0
Author: Chris Craik <ccraik@google.com>
Date: Tue Jan 25 12:35:23 2022
Clarify FrameTimingMetric names
Fixes: 216337830
Relnote: "Renamed FrameCpuTime -> FrameDurationCpu, FrameUiTime -> FrameDurationUi to clarify these are durations, not timestamps, and to match prefixes."
Test: ./gradlew benchmark:benchmark-common:cC
Test: TrivialListScrollBenchmark
Change-Id: I0eba35542431905ab926f5dc7db4ab6e292fde69
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Metric.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/FrameTimingQuery.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/FrameTimingQueryTest.kt
https://android-review.googlesource.com/1960660
Branch: androidx-main
commit 1a48f33d2d01d135a0d647f83b1baaac10499ef0
Author: Chris Craik <ccraik@google.com>
Date: Tue Jan 25 12:35:23 2022
Clarify FrameTimingMetric names
Fixes: 216337830
Relnote: "Renamed FrameCpuTime -> FrameDurationCpu, FrameUiTime -> FrameDurationUi to clarify these are durations, not timestamps, and to match prefixes."
Test: ./gradlew benchmark:benchmark-common:cC
Test: TrivialListScrollBenchmark
Change-Id: I0eba35542431905ab926f5dc7db4ab6e292fde69
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Metric.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/perfetto/FrameTimingQuery.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/perfetto/FrameTimingQueryTest.kt
cc...@google.com <cc...@google.com>
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 0023956cafcfd113afa3f89ed31d155ccda4914a
Author: Chris Craik <ccraik@google.com>
Date: Tue Oct 03 13:43:51 2023
Avoid over-sanitizing filenames breaking BP plugin file filtering
Fixes:303034735
Bug:296453339
Test: OutputTest
Relnote: "Fix Benchmark file output to no longer break BaselineProfile
Plugin file copying. Files were generated and copied off device, but
had been renamed such that the gradle plugin wouldn't see them."
The previous change to fix b/296453339 sanitized filenames to avoid
certain characters (e.g. the equals sign which caused issues in CI /
instrumentation result reporting), but unintentionally broke a load
bearing assumption between BPGP and the Benchmark library.
This wasn't caught in testing because continuous test are on either
the host side or device side, and don't cover the exchange of files in
between.
To workaround this coverage gap for now, added a test to OutputTest to
cover the BPGP filtering - duplicating the filtering that BPGP does to
look for baseline and startup profiles.
Change-Id: I8dbccc5a11b4c391169cff6dfbd2a0001fd41001
M benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/producer/tasks/CollectBaselineProfileTask.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/OutputsTest.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/PerfettoTraceTest.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ProfilerTest.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/Outputs.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkScopeTest.kt
https://android-review.googlesource.com/2768511
Branch: androidx-main
commit 0023956cafcfd113afa3f89ed31d155ccda4914a
Author: Chris Craik <ccraik@google.com>
Date: Tue Oct 03 13:43:51 2023
Avoid over-sanitizing filenames breaking BP plugin file filtering
Fixes:303034735
Bug:296453339
Test: OutputTest
Relnote: "Fix Benchmark file output to no longer break BaselineProfile
Plugin file copying. Files were generated and copied off device, but
had been renamed such that the gradle plugin wouldn't see them."
The previous change to fix
certain characters (e.g. the equals sign which caused issues in CI /
instrumentation result reporting), but unintentionally broke a load
bearing assumption between BPGP and the Benchmark library.
This wasn't caught in testing because continuous test are on either
the host side or device side, and don't cover the exchange of files in
between.
To workaround this coverage gap for now, added a test to OutputTest to
cover the BPGP filtering - duplicating the filtering that BPGP does to
look for baseline and startup profiles.
Change-Id: I8dbccc5a11b4c391169cff6dfbd2a0001fd41001
M benchmark/baseline-profile-gradle-plugin/src/main/kotlin/androidx/baselineprofile/gradle/producer/tasks/CollectBaselineProfileTask.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/OutputsTest.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/PerfettoTraceTest.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/ProfilerTest.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/Outputs.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkScopeTest.kt
cc...@google.com <cc...@google.com> #5
Verified with snapshot build 10898689
You can use
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.2.0-rc02
androidx.benchmark:benchmark-common:1.2.0-rc02
androidx.benchmark:benchmark-macro:1.2.0-rc02
Description
Component used: androidx.baselineprofile, androidx.benchmark:benchmark-macro-junit4
Version used: 1.2.0-rc01
Devices/Android versions reproduced on: Pixel 7 Android 34 Emulator
Android Studio Iguana | 2023.2.1 Canary 6
Build #AI-232.9921.47.2321.10875067, built on September 28, 2023
Runtime version: 17.0.8+0-17.0.8b1000.22-10799086 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 13.5.2
There seems to be a regression between beta05 and rc01 of the baselineProfile plugin.
saveInSrc = true
works correctly in beta05, but doesn't pull the profile from device to the host and save it when using rc01.rc1 produces the following logcat which seems to output the end of the test twice, is this the issue?
Baseline Test is simple:
Also seeing a lot of time out warnings around the fling(Direction.Down) call. Can log another issue for that if needed.