Change default cpu event counter events

Bug: 370087566
Test: RectListBenchmark

Also override value in androidx to specifically investigate crosstalk

2 events was a conservative default to support emulators, which we no
longer attempt to support.

Overriding default to be L1DMisses and BranchMisses in AndroidX to
investigate sources of run-to-run noise in CI.

Change-Id: Ic62413376a7ce7fdd7f1dbbdc742dd416c9ab442
diff --git a/benchmark/benchmark-common/src/main/java/androidx/benchmark/Arguments.kt b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Arguments.kt
index 1fef4e4..da07fef 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/Arguments.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Arguments.kt
@@ -292,7 +292,10 @@
         cpuEventCounterMask =
             if (cpuEventCounterEnable) {
                 arguments
-                    .getBenchmarkArgument("cpuEventCounter.events", "Instructions,CpuCycles")
+                    .getBenchmarkArgument(
+                        "cpuEventCounter.events",
+                        "Instructions,CpuCycles,BranchMisses"
+                    )
                     .split(",")
                     .map { eventName -> CpuEventCounter.Event.valueOf(eventName) }
                     .getFlags()
diff --git a/buildSrc/private/src/main/kotlin/androidx/build/BenchmarkConfiguration.kt b/buildSrc/private/src/main/kotlin/androidx/build/BenchmarkConfiguration.kt
index 98738fb..0909005 100644
--- a/buildSrc/private/src/main/kotlin/androidx/build/BenchmarkConfiguration.kt
+++ b/buildSrc/private/src/main/kotlin/androidx/build/BenchmarkConfiguration.kt
@@ -36,6 +36,13 @@
                 "true"
             )
 
+            // Set default events to aid in CI investigations of run to run noise
+            // Avoid using more than three, or capture may fail reporting all zeros, see b/291826415
+            deviceTest.instrumentationRunnerArguments.put(
+                "androidx.benchmark.cpuEventCounter.events",
+                "Instructions,L1DMisses,BranchMisses"
+            )
+
             // Force AndroidX devs to disable JIT on rooted devices
             deviceTest.instrumentationRunnerArguments.put(
                 "androidx.benchmark.requireJitDisabledIfRooted",