Эта страница была переведа с помощью Cloud Translation API.
Switch to English

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

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

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

В build.gradle file уровне проекта обязательно build.gradle file репозиторий Google Maven в buildscript и allprojects .

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

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

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

    // ...
    
    dependencies {
      // ...
    
      // Add the dependency for the Performance Monitoring library
      implementation 'com.google.firebase:firebase-perf:19.0.8'
    }
    
  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.3'  // Google Services plugin
    
          // Add the dependency for the Performance Monitoring plugin
          classpath 'com.google.firebase:perf-plugin:1.3.1'  // 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.1).

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

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