Fixed
Status Update
Comments
cc...@google.com <cc...@google.com> #2
This trace name looks perfectly sanitized, not sure what's the issue here: TrivialListScrollBenchmark_start[compilation-None]_iter009_2023-08-16-10-29-59.perfetto-trace
ra...@google.com <ra...@google.com>
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 5dd0781ddeb7d345cab1cd97bd041e6d178642c6
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Mon Aug 28 14:10:01 2023
Sanitize trace names.
Test: ./gradlew :benchmark:benchmark-benchmark:cAT && ./gradlew :benchmark:benchmark-macro:cAT
Bug: 296453339
```
/storage/emulated/0/Android/media/androidx.compose.integration.macrobenchmark/TrivialStartupBenchmark_startup_startup_WARM_compilation_Partial_baselineProfile_UseIfAvailable_iterations_0__iter000_2023_08_28_21_11_51.perfetto_trace
```
Change-Id: I36016289b17d657d87a6d5c0bfc25aca83b86f50
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-common/src/main/java/androidx/benchmark/Profiler.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkScopeTest.kt
https://android-review.googlesource.com/2729281
Branch: androidx-main
commit 5dd0781ddeb7d345cab1cd97bd041e6d178642c6
Author: Rahul Ravikumar <rahulrav@google.com>
Date: Mon Aug 28 14:10:01 2023
Sanitize trace names.
Test: ./gradlew :benchmark:benchmark-benchmark:cAT && ./gradlew :benchmark:benchmark-macro:cAT
Bug: 296453339
```
/storage/emulated/0/Android/media/androidx.compose.integration.macrobenchmark/TrivialStartupBenchmark_startup_startup_WARM_compilation_Partial_baselineProfile_UseIfAvailable_iterations_0__iter000_2023_08_28_21_11_51.perfetto_trace
```
Change-Id: I36016289b17d657d87a6d5c0bfc25aca83b86f50
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-common/src/main/java/androidx/benchmark/Profiler.kt
M benchmark/benchmark-macro/src/androidTest/java/androidx/benchmark/macro/MacrobenchmarkScopeTest.kt
ap...@google.com <ap...@google.com> #5
Project: platform/frameworks/support
Branch: androidx-main
commit a4c4bb416d1a231eb874ed8cd48999ccc77ecbf5
Author: Chris Craik <ccraik@google.com>
Date: Tue Sep 05 14:41:43 2023
Use sanitized filename as inst result key
Bug:296453339
Test: ParameterizedBenchmark # fails with new require() block, without fix
Fixes errors in parsing keys containing '=', which leads to significant filename collision in CI, and missing traces.
Change-Id: Ia72c6cea174ad5602fbabafd9d310f6dba3314a8
M benchmark/benchmark-common/src/main/java/androidx/benchmark/InstrumentationResults.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/Outputs.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/Profiler.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/ResultWriter.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoCaptureWrapper.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/BaselineProfiles.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MacrobenchmarkScope.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MethodTracing.kt
https://android-review.googlesource.com/2741117
Branch: androidx-main
commit a4c4bb416d1a231eb874ed8cd48999ccc77ecbf5
Author: Chris Craik <ccraik@google.com>
Date: Tue Sep 05 14:41:43 2023
Use sanitized filename as inst result key
Bug:296453339
Test: ParameterizedBenchmark # fails with new require() block, without fix
Fixes errors in parsing keys containing '=', which leads to significant filename collision in CI, and missing traces.
Change-Id: Ia72c6cea174ad5602fbabafd9d310f6dba3314a8
M benchmark/benchmark-common/src/main/java/androidx/benchmark/InstrumentationResults.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/Outputs.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/Profiler.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/ResultWriter.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/perfetto/PerfettoCaptureWrapper.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/BaselineProfiles.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MacrobenchmarkScope.kt
M benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/MethodTracing.kt
na...@google.com <na...@google.com> #6
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.benchmark:benchmark-common:1.2.0-rc01
androidx.benchmark:benchmark-macro:1.2.0-rc01
ap...@google.com <ap...@google.com> #7
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
pr...@google.com <pr...@google.com> #8
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
Missing Perfetto traces in CI
Examples:
ATI
Look at
device_logcat_test_8BSAY00GLA_12904347790383197078.txt
and you will see a lot of entries that look like.