Fixed
Status Update
Comments
ap...@google.com <ap...@google.com> #2
Project: platform/frameworks/support
Branch: androidx-main
commit 6900e65badd9898ab77c460987d8fc5f4435cdf3
Author: Chris Craik <ccraik@google.com>
Date: Wed May 24 16:38:32 2023
Microbenchmark phase rework
Bug: 285014599
Fixes: 278737712
Fixes: 284992444
Test: tests in benchmark-common
Test: BenchmarkStateConfigTest
Test: TrivialKotlinBenchmark # shows no regression locally
Test: SynchronizedBenchmark # shows no regression locally
Refactor enables experimenting with additional profiling / extra
metric measurements without significant state machine rewrite.
Change-Id: I35eaf8515c2a9e86a302392f03a1aeed11e6b576
A benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateConfigTest.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateTest.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/BenchmarkState.kt
A benchmark/benchmark-common/src/main/java/androidx/benchmark/MicrobenchmarkPhase.kt
https://android-review.googlesource.com/2604265
Branch: androidx-main
commit 6900e65badd9898ab77c460987d8fc5f4435cdf3
Author: Chris Craik <ccraik@google.com>
Date: Wed May 24 16:38:32 2023
Microbenchmark phase rework
Bug: 285014599
Fixes: 278737712
Fixes: 284992444
Test: tests in benchmark-common
Test: BenchmarkStateConfigTest
Test: TrivialKotlinBenchmark # shows no regression locally
Test: SynchronizedBenchmark # shows no regression locally
Refactor enables experimenting with additional profiling / extra
metric measurements without significant state machine rewrite.
Change-Id: I35eaf8515c2a9e86a302392f03a1aeed11e6b576
A benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateConfigTest.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateTest.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/BenchmarkState.kt
A benchmark/benchmark-common/src/main/java/androidx/benchmark/MicrobenchmarkPhase.kt
ap...@google.com <ap...@google.com> #3
Project: platform/frameworks/support
Branch: androidx-main
commit 456ac4a098d7072c178bc69378d6fb2c9a833639
Author: Chris Craik <ccraik@google.com>
Date: Fri Jun 02 16:57:46 2023
Profiling phases moved after timing, MethodTracing in Perfetto
Bug: 285014599
Test: BenchmarkStateConfigTest
Test: LazyListScrollingBenchmark # using MethodTracing
Relnote: "Microbenchmark profiling moved to a separate phase, so it
occurs in sequence *after* measurement, instead of replacing
it. MethodTracing trace sections are also now included in the captured
Perfetto trace, if present."
This also removes the need for the 'PROFILED' warning, since we run
profiling passes separately.
Change-Id: I9f6573ccd97ed3079be46a95962728a6c428fe85
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateConfigTest.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateTest.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/InstrumentationResultsTest.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/BenchmarkState.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/Errors.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/MicrobenchmarkPhase.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/Profiler.kt
https://android-review.googlesource.com/2613776
Branch: androidx-main
commit 456ac4a098d7072c178bc69378d6fb2c9a833639
Author: Chris Craik <ccraik@google.com>
Date: Fri Jun 02 16:57:46 2023
Profiling phases moved after timing, MethodTracing in Perfetto
Bug: 285014599
Test: BenchmarkStateConfigTest
Test: LazyListScrollingBenchmark # using MethodTracing
Relnote: "Microbenchmark profiling moved to a separate phase, so it
occurs in sequence *after* measurement, instead of replacing
it. MethodTracing trace sections are also now included in the captured
Perfetto trace, if present."
This also removes the need for the 'PROFILED' warning, since we run
profiling passes separately.
Change-Id: I9f6573ccd97ed3079be46a95962728a6c428fe85
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateConfigTest.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/BenchmarkStateTest.kt
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/InstrumentationResultsTest.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/BenchmarkState.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/Errors.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/MicrobenchmarkPhase.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/Profiler.kt
ap...@google.com <ap...@google.com> #4
Project: platform/frameworks/support
Branch: androidx-main
commit 7f2cf259de5c8786fae02a9eb76243ac1a3484fd
Author: Chris Craik <ccraik@google.com>
Date: Fri Jun 02 22:22:46 2023
Optimize ArtTrace Perfetto serialization
Bug:285014599
Test: ArtTraceTest
Test: LazyListScrollingBenchmark # with MethodTracing
Reduces Perfetto serialized ART trace size
Original method trace size: 1.3mb
Previous perfetto serialized size: 10mb
New perfetto serialized size: 2mb
Also moves method trace to more clearly labelled "(Method Trace)"
track, alongside actual threads in Perfetto.
Interning and defaults are neat!
Change-Id: I74ba9c9c8fff0e43ec8cdf8c36cf76f981aefc11
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/vmtrace/ArtTraceTest.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/vmtrace/ArtTrace.kt
M benchmark/benchmark-common/src/main/proto/perfetto_trace.proto
https://android-review.googlesource.com/2614050
Branch: androidx-main
commit 7f2cf259de5c8786fae02a9eb76243ac1a3484fd
Author: Chris Craik <ccraik@google.com>
Date: Fri Jun 02 22:22:46 2023
Optimize ArtTrace Perfetto serialization
Bug:285014599
Test: ArtTraceTest
Test: LazyListScrollingBenchmark # with MethodTracing
Reduces Perfetto serialized ART trace size
Original method trace size: 1.3mb
Previous perfetto serialized size: 10mb
New perfetto serialized size: 2mb
Also moves method trace to more clearly labelled "(Method Trace)"
track, alongside actual threads in Perfetto.
Interning and defaults are neat!
Change-Id: I74ba9c9c8fff0e43ec8cdf8c36cf76f981aefc11
M benchmark/benchmark-common/src/androidTest/java/androidx/benchmark/vmtrace/ArtTraceTest.kt
M benchmark/benchmark-common/src/main/java/androidx/benchmark/vmtrace/ArtTrace.kt
M benchmark/benchmark-common/src/main/proto/perfetto_trace.proto
cc...@google.com <cc...@google.com>
pr...@google.com <pr...@google.com> #5
The following release(s) address this bug.It is possible this bug has only been partially addressed:
androidx.benchmark:benchmark-common:1.2.0-alpha16
Description
Two stacked features requests here: