Google is committed to advancing racial equity for Black communities. See how.
This page was translated by the Cloud Translation API.
Switch to English

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

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

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

Шаг 1. Добавьте SDK для мониторинга производительности в свое приложение

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

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

    Джава

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:25.12.0')
    
        // 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 BoM , ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.

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

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

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

    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:19.0.9'
    }
    

    Котлин + KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:25.12.0')
    
        // 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 BoM , ваше приложение всегда будет использовать совместимые версии библиотек Firebase Android.

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

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

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

    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:19.0.9'
    }
    

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

Шаг 2. Добавьте в приложение плагин Performance Monitoring.

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

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

    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 ) корневого уровня (уровня проекта ) добавьте правила для включения плагина Performance Monitoring.

    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.4'  // Google Services plugin
    
          // Add the dependency for the Performance Monitoring plugin
          classpath 'com.google.firebase:perf-plugin:1.3.2'  // Performance Monitoring plugin
        }
    }
    
  3. Перекомпилируйте свое приложение.

Шаг 3. Создание событий производительности для отображения исходных данных

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

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

    • Эмулятор Android с последним изображением и сервисами Google Play 15.0.0 или новее.

    • Тестовое устройство с сервисами Google Play 15.0.0 или новее.

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

  3. Перейти к приборной панели Performance консоли Firebase , чтобы увидеть , если Firebase распознал SDK.

    Если вы не видите сообщение «SDK обнаружен» в течение 2 часов после добавления SDK в приложение, просмотрите советы по устранению неполадок .

  4. Мониторинг производительности обрабатывает данные о событиях производительности перед отображением на приборной панели Performance . Вы должны увидеть начальное отображение данных в течение 24 часов после появления сообщения об обнаружении SDK.

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

Шаг 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
    • Logging network request trace: URL

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

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

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

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

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

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

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

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

Вы можете отслеживать данные о производительности на панели управления производительностью консоли 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.3.2).

    • Замените строку зависимости плагина 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.

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