diff --git a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt index bd73a69db..d1980af03 100644 --- a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt +++ b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt @@ -39,6 +39,13 @@ object FeatureFlags { // users are still experiencing crashes. const val nimbusExperiments = false + /** + * Enables an intentional regression to validate perftest alerting. See + * https://github.com/mozilla-mobile/fenix/issues/17447 for details. This + * is expected to be removed within several days. + */ + val intentionalRegressionToValidatePerfTestAlerting = Config.channel.isNightlyOrDebug + /** * Enables the new MediaSession API. */ diff --git a/app/src/main/java/org/mozilla/fenix/FenixApplication.kt b/app/src/main/java/org/mozilla/fenix/FenixApplication.kt index ee7109f1f..5450f25c7 100644 --- a/app/src/main/java/org/mozilla/fenix/FenixApplication.kt +++ b/app/src/main/java/org/mozilla/fenix/FenixApplication.kt @@ -119,6 +119,13 @@ open class FenixApplication : LocaleAwareApplication(), Provider { @CallSuper open fun setupInMainProcessOnly() { + // See feature flags kdoc for details. + if (FeatureFlags.intentionalRegressionToValidatePerfTestAlerting) { + logger.info("Intentional thread sleep. See #17447") + @Suppress("MagicNumber") // it's fine for a quick patch. + Thread.sleep(100) + } + run { // Attention: Do not invoke any code from a-s in this scope. val megazordSetup = setupMegazord()