Catch up on everthing we announced at this year's Firebase Summit. Learn more

Начните работу с мониторингом производительности для Android

Прежде чем вы начнете

Если вы еще не сделали, добавить Firebase в свой Android проекта .

Шаг 1: Добавьте Performance Monitoring SDK для вашего приложения

После того, как вы добавили мониторинга производительности SDK, Firebase автоматически начинает сбор данных для вашего приложения визуализации экрана и данные , связанные с жизненным циклом вашего приложения (например , приложение времени запуска ). Чтобы включить Firebase для мониторинга сетевых запросов, необходимо также добавить Performance Monitoring Gradle плагин (следующий шаг).

  1. Использование Firebase Android Банка Москвы , объявить зависимость для мониторинга производительности Android библиотеки в модуле (приложение уровня) Gradle файл (обычно app/build.gradle ).

    Джава

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:29.0.1')
    
        // Declare the dependency for the Performance Monitoring library
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-perf'
    }
    

    С помощью Firebase Android Банка Москвы , ваше приложение будет всегда использовать совместимые версии библиотек Firebase Android.

    (Альтернативный) Объявляет Firebase библиотеки зависимостей без использования спецификации

    Если вы решите не использовать Firebase BoM, вы должны указать каждую версию библиотеки Firebase в ее строке зависимости.

    Обратите внимание , что если вы используете несколько библиотеки Firebase в вашем приложении, мы настоятельно рекомендуем использовать спецификации для управления версиями библиотеки, что гарантирует , что все версии совместимы.

    dependencies {
        // Declare the dependency for the Performance Monitoring library
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-perf:20.0.4'
    }
    

    Котлин + KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:29.0.1')
    
        // Declare the dependency for the Performance Monitoring library
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-perf-ktx'
    }
    

    С помощью Firebase Android Банка Москвы , ваше приложение будет всегда использовать совместимые версии библиотек Firebase Android.

    (Альтернативный) Объявляет Firebase библиотеки зависимостей без использования спецификации

    Если вы решите не использовать Firebase BoM, вы должны указать каждую версию библиотеки Firebase в ее строке зависимости.

    Обратите внимание , что если вы используете несколько библиотеки Firebase в вашем приложении, мы настоятельно рекомендуем использовать спецификации для управления версиями библиотеки, что гарантирует , что все версии совместимы.

    dependencies {
        // Declare the dependency for the Performance Monitoring library
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-perf-ktx:20.0.4'
    }
    

  2. Перекомпилируйте свое приложение.

Шаг 2: Добавьте плагин мониторинга для вашего приложения

После того, как вы добавили Performance Monitoring Gradle плагина, Firebase автоматически начинает сбор данных для HTTP / S сетевых запросов . Плагин также позволяет инструмент пользовательских следам коды с использованием @AddTrace аннотации .

  1. В вашем модуле (приложение уровня) Gradle файл (обычно app/build.gradle ), применять плагин для мониторинга производительности:

    apply plugin: 'com.android.application'
    apply plugin: 'com.google.gms.google-services'
    // Apply the Performance Monitoring plugin
    apply plugin: 'com.google.firebase.firebase-perf'
    
    android {
      // ...
    }
    
  2. В корневом уровне ( на уровне проекта) Gradle файл ( build.gradle ), добавьте правила для включения мониторинга производительности плагина.

    buildscript {
    
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
          // Add the Bintray repository
          jcenter()
        }
    
        dependencies {
          // ...
    
          // To benefit from the latest Performance Monitoring plugin features,
          // update your Android Gradle Plugin dependency to at least v3.4.0
          classpath 'com.android.tools.build:gradle:3.4.0'
    
          classpath 'com.google.gms:google-services:4.3.10'  // Google Services plugin
    
          // Add the dependency for the Performance Monitoring plugin
          classpath 'com.google.firebase:perf-plugin:1.4.0'  // Performance Monitoring plugin
        }
    }
    
  3. Перекомпилируйте свое приложение.

Шаг 3: Генерация события производительности для начального отображения данных

Firebase начинает обработку событий, когда вы успешно добавляете SDK в свое приложение. Если вы все еще разрабатываете локально, взаимодействуйте со своим приложением, чтобы сгенерировать события для первоначального сбора и обработки данных.

  1. Создавайте события, несколько раз переключая приложение между фоном и передним планом, взаимодействуя с приложением, перемещаясь по экранам и / или инициируя сетевые запросы.

  2. Перейти к приборной панели Performance консоли Firebase. Вы должны увидеть исходные данные в течение нескольких минут.

    Если вы не видите отображение ваших исходных данных, просмотрите советы по устранению неполадок .

Шаг 4: (Необязательно) Просмотр сообщения журнала для событий производительности

  1. Включить ведение журнала отладки для мониторинга эффективности во время сборки, добавив <meta-data> элемент вашего приложения AndroidManifest.xml файл, например так:

    <application>
        <meta-data
          android:name="firebase_performance_logcat_enabled"
          android:value="true" />
    </application>
    
  2. Проверьте сообщения журнала на наличие сообщений об ошибках.

  3. Мониторинг производительности теги регистрируемых сообщений с FirebasePerformance . Используя фильтрацию logcat, вы можете, в частности, просмотреть трассировку продолжительности и регистрацию сетевых запросов HTTP / S, выполнив следующую команду:

    adb logcat -s FirebasePerformance
  4. Проверьте следующие типы журналов, которые указывают на то, что мониторинг производительности регистрирует события производительности:

    • Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Щелкните URL-адрес, чтобы просмотреть свои данные в консоли Firebase. Обновление данных на панели управления может занять некоторое время.

Если ваше приложение не регистрирует события производительности, просмотрите советы по устранению неполадок .

Шаг 5: (Необязательно) Добавьте пользовательский мониторинг для конкретного кода

Для мониторинга данных о производительности , связанные с определенным кодом в вашем приложении, вы можете инструмент пользовательского кода следы .

С помощью настраиваемой трассировки кода вы можете измерить, сколько времени требуется вашему приложению для выполнения определенной задачи или набора задач, таких как загрузка набора изображений или запрос к базе данных. Метрикой по умолчанию для пользовательской трассировки кода является ее продолжительность, но вы также можете добавить пользовательские метрики, такие как попадания в кеш и предупреждения о памяти.

В своем коде вы определяете начало и конец пользовательской трассировки кода (и добавляете любые желаемые пользовательские метрики) с помощью API, предоставляемого SDK для мониторинга производительности. Для приложений Android, вы также можете отслеживать продолжительность методов конкретного использования @AddTrace аннотации .

Посещение Добавить мониторинг для конкретного кода , чтобы узнать больше об этих функциях и как добавить их к вашему приложению.

Шаг 6: Развертывание приложение затем результаты обзора

После того, как вы проверили мониторинг производительности с помощью одного или нескольких тестовых устройств, вы можете развернуть обновленную версию своего приложения для своих пользователей.

Вы можете отслеживать данные о производительности в приборной панели Performance консоли Firebase.

Известные вопросы

  • Плагин Gradle для мониторинга производительности v1.1.0 может вызвать несоответствие в зависимостях Guava, что приведет к следующей ошибке:

    Error:Execution failed for task ':app:packageInstantRunResourcesDebug'.
    > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;

    Если вы видите эту ошибку, вы можете:

    • Обновите плагин Performance Monitoring до версии 1.1.1 или более поздней (самая последняя версия - v1.4.0).

    • Заменить Performance Monitoring плагин линии зависимостей в корневом уровне ( на уровне проекта) Gradle файла ( build.gradle ), следующим образом :

      buildscript {
        // ...
      
        dependencies {
          // ...
      
          // Replace the standard Performance Monitoring plugin dependency line, as follows:
          classpath ('com.google.firebase:perf-plugin:1.1.0') {
                      exclude group: 'com.google.guava', module: 'guava-jdk5'
          }
        }
      }
      
  • Мониторинг производительности сообщает общий размер полезной нагрузки для сетевых запросов HTTP на основе значения, установленного в заголовке длины содержимого HTTP. Это значение не всегда может быть точным.

  • Мониторинг производительности поддерживает только основной процесс в многопроцессорных приложениях Android.

Следующие шаги