Rename fullTracing.enable -> perfettoSdkTracing.enable

Test: ./gradlew compose:integ-tests:macrobench:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.integration.macrobenchmark.TrivialStartupBenchmark -P android.testInstrumentationRunnerArguments.androidx.benchmark.fullTracing.enable=true

Test: ./gradlew compose:integ-tests:macrobench:cC -P android.testInstrumentationRunnerArguments.class=androidx.compose.integration.macrobenchmark.TrivialStartupBenchmark -P android.testInstrumentationRunnerArguments.androidx.benchmark.perfettoSdkTracing.enable=true

Relnote: "Renamed `fullTracing.enable` instrumentation argument to
`perfettoSdkTracing.enable` for consistency with artifact name, and
other references. `fullTracing.enable` will continue to work as a
fallback."

Change-Id: I7cc007e681db791998a08659ad09c3c21ab50513
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 f82a89b..0577141 100644
--- a/benchmark/benchmark-common/src/main/java/androidx/benchmark/Arguments.kt
+++ b/benchmark/benchmark-common/src/main/java/androidx/benchmark/Arguments.kt
@@ -39,19 +39,18 @@
     /**
      * Set to true to enable androidx.tracing.perfetto tracepoints (such as composition tracing)
      *
-     * Note this only affects Macrobenchmarks currently, and only when StartupMode.COLD is not used,
-     * since enabling the tracepoints wakes the target process
-     *
-     * Currently internal/experimental
+     * Note that when StartupMode.COLD is used, additional work must be performed during target app
+     * startup to initialize tracing.
      */
-    private val _fullTracingEnable: Boolean
-    val fullTracingEnable: Boolean get() = fullTracingEnableOverride ?: _fullTracingEnable
+    private val _perfettoSdkTracingEnable: Boolean
+    val perfettoSdkTracingEnable: Boolean get() =
+        perfettoSdkTracingEnableOverride ?: _perfettoSdkTracingEnable
 
     /**
      * Allows tests to override whether full tracing is enabled
      */
     @VisibleForTesting
-    var fullTracingEnableOverride: Boolean? = null
+    var perfettoSdkTracingEnableOverride: Boolean? = null
 
     val enabledRules: Set<RuleType>
 
@@ -120,8 +119,11 @@
         iterations =
             arguments.getBenchmarkArgument("iterations")?.toInt()
 
-        _fullTracingEnable =
-            (arguments.getBenchmarkArgument("fullTracing.enable")?.toBoolean() ?: false)
+        _perfettoSdkTracingEnable =
+            arguments.getBenchmarkArgument("perfettoSdkTracing.enable")?.toBoolean()
+                // fullTracing.enable is the legacy/compat name
+                ?: arguments.getBenchmarkArgument("fullTracing.enable")?.toBoolean()
+                    ?: false
 
         // Transform comma-delimited list into set of suppressed errors
         // E.g. "DEBUGGABLE, UNLOCKED" -> setOf("DEBUGGABLE", "UNLOCKED")
diff --git a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
index d1ad575..df00a1a 100644
--- a/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
+++ b/benchmark/benchmark-macro/src/main/java/androidx/benchmark/macro/Macrobenchmark.kt
@@ -402,7 +402,7 @@
     measureBlock: MacrobenchmarkScope.() -> Unit
 ) {
     val perfettoSdkConfig =
-        if (Arguments.fullTracingEnable && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
+        if (Arguments.perfettoSdkTracingEnable && Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
             PerfettoSdkConfig(
                 packageName,
                 when (startupMode) {
diff --git a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/TrivialStartupPerfettoSdkBenchmark.kt b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/TrivialStartupPerfettoSdkBenchmark.kt
index f9ca454..eb9ab43 100644
--- a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/TrivialStartupPerfettoSdkBenchmark.kt
+++ b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/TrivialStartupPerfettoSdkBenchmark.kt
@@ -37,15 +37,15 @@
 class TrivialStartupPerfettoSdkBenchmark(
     private val startupMode: StartupMode,
     private val compilationMode: CompilationMode,
-    private val isFullTracingEnabled: Boolean
+    private val isPerfettoSdkEnabled: Boolean
 ) {
     @get:Rule
     val benchmarkRule = MacrobenchmarkRule()
 
     @Test
     fun startup() = try {
-        Arguments.fullTracingEnableOverride = isFullTracingEnabled
-        assertThat(Arguments.fullTracingEnable, `is`(isFullTracingEnabled))
+        Arguments.perfettoSdkTracingEnableOverride = isPerfettoSdkEnabled
+        assertThat(Arguments.perfettoSdkTracingEnable, `is`(isPerfettoSdkEnabled))
 
         try {
             val perfettoSdkTraceSection = TraceSectionMetric(
@@ -63,7 +63,7 @@
                     "TRIVIAL_STARTUP_TRACING_ACTIVITY"
             }
         } catch (e: IllegalArgumentException) {
-            if (!isFullTracingEnabled &&
+            if (!isPerfettoSdkEnabled &&
                 e.message?.contains("Unable to read any metrics during benchmark") == true
             ) {
                 // We are relying on the fact that Macrobenchmark will throw an exception when it
@@ -74,17 +74,17 @@
             } else throw e // this is a legitimate failure
         }
     } finally {
-        Arguments.fullTracingEnableOverride = null
+        Arguments.perfettoSdkTracingEnableOverride = null
     }
 
     companion object {
-        @Parameterized.Parameters(name = "startup={0},compilation={1},fullTracing={2}")
+        @Parameterized.Parameters(name = "startup={0},compilation={1},perfettoSdk={2}")
         @JvmStatic
         fun parameters() = listOf(
-            arrayOf(StartupMode.COLD, CompilationMode.DEFAULT, /* fullTracing = */ true),
-            arrayOf(StartupMode.COLD, CompilationMode.DEFAULT, /* fullTracing = */ false),
-            arrayOf(StartupMode.WARM, CompilationMode.DEFAULT, /* fullTracing = */ true),
-            arrayOf(StartupMode.WARM, CompilationMode.DEFAULT, /* fullTracing = */ false),
+            arrayOf(StartupMode.COLD, CompilationMode.DEFAULT, /* perfettoSdk = */ true),
+            arrayOf(StartupMode.COLD, CompilationMode.DEFAULT, /* perfettoSdk = */ false),
+            arrayOf(StartupMode.WARM, CompilationMode.DEFAULT, /* perfettoSdk = */ true),
+            arrayOf(StartupMode.WARM, CompilationMode.DEFAULT, /* perfettoSdk = */ false),
         )
     }
 }
diff --git a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/TrivialStartupPerfettoSdkOverheadBenchmark.kt b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/TrivialStartupPerfettoSdkOverheadBenchmark.kt
index 0e22752..28a6c97 100644
--- a/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/TrivialStartupPerfettoSdkOverheadBenchmark.kt
+++ b/compose/integration-tests/macrobenchmark/src/main/java/androidx/compose/integration/macrobenchmark/TrivialStartupPerfettoSdkOverheadBenchmark.kt
@@ -35,15 +35,15 @@
 class TrivialStartupPerfettoSdkOverheadBenchmark(
     private val startupMode: StartupMode,
     private val compilationMode: CompilationMode,
-    private val isFullTracingEnabled: Boolean
+    private val isPerfettoSdkEnabled: Boolean
 ) {
     @get:Rule
     val benchmarkRule = MacrobenchmarkRule()
 
     @Test
     fun startup() = try {
-        Arguments.fullTracingEnableOverride = isFullTracingEnabled
-        assertThat(Arguments.fullTracingEnable, `is`(isFullTracingEnabled))
+        Arguments.perfettoSdkTracingEnableOverride = isPerfettoSdkEnabled
+        assertThat(Arguments.perfettoSdkTracingEnable, `is`(isPerfettoSdkEnabled))
 
         benchmarkRule.measureStartup(
             compilationMode = compilationMode,
@@ -54,21 +54,21 @@
                 "TRIVIAL_STARTUP_TRACING_ACTIVITY"
         }
     } finally {
-        Arguments.fullTracingEnableOverride = null
+        Arguments.perfettoSdkTracingEnableOverride = null
     }
 
     companion object {
         // intended for local testing of all possible configurations
         private const val exhaustiveMode = false
 
-        @Parameterized.Parameters(name = "startup={0},compilation={1},fullTracing={2}")
+        @Parameterized.Parameters(name = "startup={0},compilation={1},perfettoSdk={2}")
         @JvmStatic
         fun parameters() =
             when {
                 exhaustiveMode ->
                     // complete set for testing locally
                     createStartupCompilationParams()
-                        .flatMap { listOf(it + true, it + false) } /* full tracing enabled */
+                        .flatMap { listOf(it + true, it + false) } /* perfetto sdk enabled */
                 else ->
                     // subset for testing in CI:
                     // compilation isn't expected to affect this, so we just look at startup time
@@ -76,7 +76,7 @@
                     createStartupCompilationParams(
                         listOf(StartupMode.COLD, StartupMode.WARM),
                         listOf(CompilationMode.DEFAULT)
-                    ).map { it + true } /* full tracing enabled */
+                    ).map { it + true } /* perfetto sdk enabled */
             }
     }
 }