Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Deshabilitar el monitoreo de rendimiento de Firebase

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Durante el desarrollo y las pruebas de la aplicación, puede que le resulte útil desactivar la supervisión del rendimiento.

Por ejemplo, al deshabilitar la supervisión del rendimiento durante el proceso de creación de su aplicación , puede:

  • Deshabilite ciertas funcionalidades de Monitoreo de rendimiento (como las proporcionadas por el complemento Gradle de Monitoreo de rendimiento) en sus compilaciones de depuración, pero vuelva a habilitar las funcionalidades para su compilación de lanzamiento.

  • Deshabilite la supervisión del rendimiento cuando cree su aplicación, pero permita que su aplicación la vuelva a habilitar en tiempo de ejecución.

  • Deshabilite la supervisión del rendimiento cuando cree su aplicación y no permita que su aplicación la vuelva a habilitar en el tiempo de ejecución.

También puede compilar su aplicación con el Monitoreo de rendimiento habilitado , pero use Firebase Remote Config para brindarle flexibilidad para deshabilitar (y volver a habilitar) el Monitoreo de rendimiento en su aplicación de producción. Con esta opción, incluso puede configurar su aplicación para que los usuarios opten por participar o no en el uso de la supervisión del rendimiento.

Deshabilite la supervisión del rendimiento durante el proceso de creación de su aplicación

Puede deshabilitar el Monitoreo de rendimiento durante su proceso de compilación al deshabilitar el complemento Gradle de Monitoreo de rendimiento y/o al deshabilitar la biblioteca Android de Monitoreo de rendimiento .

Durante el desarrollo y la depuración, es útil deshabilitar el complemento porque la instrumentación del complemento puede contribuir a aumentar el tiempo de compilación. Sin embargo, puede considerar mantener la biblioteca habilitada para que aún pueda ver los datos de rendimiento desde el inicio de la aplicación, los seguimientos de la aplicación en primer plano y de la aplicación en segundo plano , así como cualquier seguimiento de código personalizado en su aplicación.

Deshabilite el complemento Gradle de monitoreo de rendimiento

Puede deshabilitar el complemento de Monitoreo de rendimiento agregando un indicador instrumentationEnabled usando las siguientes opciones:

  • Propiedad de extensión : deshabilita el complemento para una variante de compilación específica en el momento de la compilación

  • Propiedad del proyecto : deshabilita el complemento para todas las variantes de compilación en tiempo de compilación

Deshabilite el complemento a través de un indicador de propiedad de extensión

Al usar un indicador de propiedad de extensiones , puede deshabilitar el complemento de monitoreo de rendimiento para una variante de compilación específica en el momento de la compilación.

  1. En su archivo build.gradle de nivel raíz (nivel de proyecto), asegúrese de que su dependencia del complemento Gradle de Android esté especificada como v3.4.0 o posterior.

    Para versiones anteriores del complemento Gradle de Android, aún puede deshabilitar el complemento Monitoreo de rendimiento para una variante de compilación específica, pero la contribución del tiempo de compilación para esa variante no se eliminará por completo.

  2. Agregue el siguiente indicador a su archivo build.gradle de módulo (nivel de aplicación), luego configúrelo en false para deshabilitar el complemento de Monitoreo de rendimiento.

    android {
      // ...
      buildTypes {
        debug {
          FirebasePerformance {
            // Set this flag to 'false' to disable @AddTrace annotation processing and
            // automatic monitoring of HTTP/S network requests
            // for a specific build variant at compile time.
            instrumentationEnabled false
          }
        }
      }
    }
    

Deshabilite el complemento a través de un indicador de propiedad del proyecto

Al usar un indicador de propiedad del proyecto , puede deshabilitar el complemento de monitoreo de rendimiento para todas las variantes de compilación en el momento de la compilación.

Agregue el siguiente indicador a su archivo gradle.properties , luego configúrelo en false para deshabilitar el complemento de Monitoreo de rendimiento.

// ...

// Set this flag to 'false' to disable @AddTrace annotation processing and
// automatic monitoring of HTTP/S network requests
// for all build variants at compile time.
firebasePerformanceInstrumentationEnabled=false

Deshabilite la biblioteca de Android de monitoreo de rendimiento

Si deshabilita la biblioteca de Monitoreo de rendimiento en el momento de la compilación, puede elegir si desea permitir que su aplicación habilite la biblioteca en el tiempo de ejecución.

Deshabilite la biblioteca en tiempo de compilación, pero permita que su aplicación la habilite en tiempo de ejecución

Agregue el siguiente elemento <meta-data> al archivo AndroidManifest.xml de su aplicación:

  <application>
    <meta-data
      android:name="firebase_performance_collection_enabled"
      android:value="false" />
  </application>

Deshabilite la biblioteca en tiempo de compilación, pero no permita que su aplicación la habilite en tiempo de ejecución

Agregue el siguiente elemento <meta-data> al archivo AndroidManifest.xml de su aplicación:

  <application>
    <meta-data
      android:name="firebase_performance_collection_deactivated"
      android:value="true" />
  </application>

Deshabilite su aplicación en tiempo de ejecución usando Remote Config

Firebase Remote Config le permite realizar cambios en el comportamiento y la apariencia de su aplicación, por lo que proporciona una forma ideal de permitirle deshabilitar la supervisión del rendimiento en las instancias implementadas de su aplicación.

Para deshabilitar la recopilación de datos de Monitoreo de rendimiento la próxima vez que se inicie su aplicación de Android, use el código de ejemplo que se muestra a continuación. Para obtener más información sobre el uso de Remote Config en una aplicación de Android, consulte Usar Firebase Remote Config en Android .

  1. Asegúrese de que Remote Config esté en la sección de dependencies del archivo Gradle de su módulo (generalmente app/build.gradle ):

    implementation 'com.google.firebase:firebase-config:21.2.1'
    
  2. Configure la configuración remota y deshabilite la supervisión del rendimiento si perf_disable se establece en true :

    Kotlin+KTX

    // Setup remote config
    val config = Firebase.remoteConfig
    
    // You can uncomment the following two statements to permit more fetches when
    // validating your app, but you should comment out or delete these lines before
    // distributing your app in production.
    // val configSettings = remoteConfigSettings {
    //     minimumFetchIntervalInSeconds = 3600
    // }
    // config.setConfigSettingsAsync(configSettings)
    // Load in-app defaults from an XML file that sets perf_disable to false until you update
    // values in the Firebase Console
    
    // Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true
    config.setDefaultsAsync(R.xml.remote_config_defaults)
            .addOnCompleteListener { task ->
                if (task.isSuccessful) {
                    Firebase.performance.isPerformanceCollectionEnabled = !config.getBoolean("perf_disable")
                } else {
                    // An error occurred while setting default parameters
                }
            }

    Java

    // Setup remote config
    final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
    
    // You can uncomment the following two statements to permit more fetches when
    // validating your app, but you should comment out or delete these lines before
    // distributing your app in production.
    // FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
    //       .setMinimumFetchIntervalInSeconds(3600)
    //       .build();
    // config.setConfigSettingsAsync(configSettings);
    // Load in-app defaults from an XML file that sets perf_disable to false until you update
    // values in the Firebase Console
    
    //Observe the remote config parameter "perf_disable" and disable Performance Monitoring if true
    config.setDefaultsAsync(R.xml.remote_config_defaults)
            .addOnCompleteListener(new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
                        if (config.getBoolean("perf_disable")) {
                            FirebasePerformance.getInstance().setPerformanceCollectionEnabled(false);
                        } else {
                            FirebasePerformance.getInstance().setPerformanceCollectionEnabled(true);
                        }
                    } else {
                        // An error occurred while setting default parameters
                    }
                }
            });
  3. Agregue el siguiente código a MainActivity.java para obtener y activar los valores de configuración remota:

    Kotlin+KTX

    // Remote Config fetches and activates parameter values from the service
    val config = Firebase.remoteConfig
    config.fetch(3600)
            .continueWithTask { task ->
                if (!task.isSuccessful) {
                    task.exception?.let {
                        throw it
                    }
                }
                config.activate()
            }
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    // Parameter values successfully activated
                    // ...
                } else {
                    // Handle errors
                }
            }

    Java

    //Remote Config fetches and activates parameter values from the service
    final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
    config.fetch(3600)
            .continueWithTask(new Continuation<Void, Task<Boolean>>() {
                @Override
                public Task<Boolean> then(@NonNull Task<Void> task) throws Exception {
                    if (!task.isSuccessful()) {
                        throw task.getException();
                    }
                    return config.activate();
                }
            })
            .addOnCompleteListener(new OnCompleteListener<Boolean>() {
                @Override
                public void onComplete(@NonNull Task<Boolean> task) {
                    if (task.isSuccessful()) {
                        // Parameter values successfully activated
                        // ...
                    } else {
                        // Handle errors
                    }
                }
            });
  4. Para deshabilitar la supervisión del rendimiento en Firebase console, cree un parámetro perf_disable en el proyecto de su aplicación y luego establezca su valor en true .

    Este cambio hará llamadas a las llamadas "sin operación" (NOOP) del Performance Monitoring SDK, eliminando cualquier efecto significativo en el rendimiento de la aplicación al usar el Performance Monitoring SDK en su aplicación.

    Si establece el valor de perf_disable en false , la supervisión del rendimiento permanece habilitada.