Прежде чем начать
Если вы еще этого не сделали, добавьте Firebase в свой проект Android .
Шаг 1. Добавьте SDK Performance Monitoring в свое приложение.
После того как вы добавили SDK Performance Monitoring , Firebase автоматически начинает собирать данные для рендеринга экрана вашего приложения и данные, связанные с жизненным циклом вашего приложения (например, время запуска приложения ). Чтобы позволить Firebase отслеживать сетевые запросы, вам также необходимо добавить плагин Gradle Performance Monitoring (следующий шаг).
В файле Gradle вашего модуля (на уровне приложения) (обычно
<project>/<app-module>/build.gradle.kts
или<project>/<app-module>/build.gradle
) добавьте зависимость для Performance Monitoring . библиотека для Android. Мы рекомендуем использовать Firebase Android BoM для управления версиями библиотеки.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.7.0")) // Add 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.
Ищете библиотечный модуль, специфичный для Kotlin? Начиная с октября 2023 года ( Firebase BoM 32.5.0) от основного модуля библиотеки могут зависеть как разработчики Kotlin, так и Java (подробнее см. FAQ по этой инициативе ).(Альтернатива) Добавить зависимости библиотеки Firebase без использования BoM
Если вы решите не использовать Firebase BoM , вы должны указать каждую версию библиотеки Firebase в ее строке зависимости.
Обратите внимание: если вы используете в своем приложении несколько библиотек Firebase, мы настоятельно рекомендуем использовать BoM для управления версиями библиотек, что гарантирует совместимость всех версий.
dependencies { // Add 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:21.0.3") }
Перекомпилируйте приложение.
Шаг 2. Добавьте плагин Gradle Performance Monitoring в свое приложение.
После того, как вы добавили плагин Gradle Performance Monitoring , Firebase автоматически начинает собирать данные для сетевых запросов HTTP/S . Плагин также позволяет инструментировать трассировку пользовательского кода с помощью аннотации @AddTrace .
В файле Gradle корневого уровня (уровня проекта) (
<project>/build.gradle.kts
или<project>/build.gradle
) добавьте плагин Gradle Performance Monitoring :Kotlin
plugins { // To benefit from the latest Performance Monitoring plugin features, // update your Android Gradle plugin dependency to at least v3.4.0 id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.2" apply false // Add the dependency for the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") version "1.4.2" apply false }
Groovy
plugins { // To benefit from the latest Performance Monitoring plugin features, // update your Android Gradle plugin dependency to at least v3.4.0 id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.4.2' apply false // Add the dependency for the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' version '1.4.2' apply false }
В файле Gradle вашего модуля (на уровне приложения) (обычно
<project>/<app-module>/build.gradle.kts
или<project>/<app-module>/build.gradle
) добавьте плагин Gradle Performance Monitoring :Kotlin
plugins { id("com.android.application") // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") ... }
Groovy
plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' ... }
Перекомпилируйте приложение.
Шаг 3. Создайте события производительности для отображения начальных данных.
Firebase начинает обрабатывать события, когда вы успешно добавляете SDK в свое приложение. Если вы все еще занимаетесь локальной разработкой, взаимодействуйте со своим приложением, чтобы генерировать события для первоначального сбора и обработки данных.
Создавайте события, несколько раз переключая приложение между фоновым и передним планом, взаимодействуя с вашим приложением путем навигации по экранам и/или запуская сетевые запросы.
Перейдите на панель «Производительность» консоли Firebase . Через несколько минут вы должны увидеть исходные данные.
Если вы не видите исходные данные, ознакомьтесь с советами по устранению неполадок .
Шаг 4. (Необязательно) Просмотрите сообщения журнала о событиях производительности.
Включите ведение журнала отладки для Performance Monitoring во время сборки, добавив элемент
<meta-data>
в файлAndroidManifest.xml
вашего приложения, например:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>
Проверьте сообщения журнала на наличие сообщений об ошибках.
Performance Monitoring помечает свои сообщения журнала тегами
FirebasePerformance
. Используя фильтрацию logcat, вы можете просмотреть трассировку продолжительности и журнал сетевых запросов HTTP/S, выполнив следующую команду:adb logcat -s FirebasePerformance
Проверьте следующие типы журналов, которые указывают на то, что Performance Monitoring регистрирует события производительности:
-
Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
-
Logging network request trace: URL
-
Нажмите на URL-адрес, чтобы просмотреть свои данные в консоли Firebase. Обновление данных на информационной панели может занять некоторое время.
Если ваше приложение не регистрирует события производительности, ознакомьтесь с советами по устранению неполадок .
Шаг 5. (Необязательно) Добавьте собственный мониторинг для конкретного кода.
Чтобы отслеживать данные о производительности, связанные с конкретным кодом в вашем приложении, вы можете использовать специальные трассировки кода .
С помощью пользовательской трассировки кода вы можете измерить, сколько времени требуется вашему приложению для выполнения определенной задачи или набора задач, таких как загрузка набора изображений или запрос к базе данных. Метрикой по умолчанию для пользовательской трассировки кода является ее продолжительность, но вы также можете добавить собственные метрики, такие как попадания в кэш и предупреждения памяти.
В своем коде вы определяете начало и конец пользовательской трассировки кода (и добавляете любые необходимые пользовательские метрики) с помощью API, предоставляемого пакетом SDK Performance Monitoring . Для приложений Android вы также можете отслеживать продолжительность определенных методов с помощью аннотации @AddTrace .
Посетите раздел «Добавить мониторинг для конкретного кода», чтобы узнать больше об этих функциях и о том, как добавить их в свое приложение.
Шаг 6. Разверните приложение и просмотрите результаты.
После проверки Performance Monitoring с помощью одного или нескольких тестовых устройств вы можете развернуть обновленную версию своего приложения для своих пользователей.
Вы можете отслеживать данные о производительности на панели «Производительность» консоли Firebase .
Известные проблемы
Плагин Performance Monitoring 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.2).
Замените строку зависимости подключаемого модуля Performance Monitoring в файле Gradle корневого уровня (уровня проекта) (
<project>/build.gradle.kts
или<project>/build.gradle
) следующим образом:Kotlin
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") } } }
Groovy
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' } } }
Performance Monitoring сообщает общий размер полезной нагрузки для сетевых запросов HTTP на основе значения, установленного в заголовке длины содержимого HTTP. Это значение не всегда может быть точным.
Performance Monitoring поддерживает только основной процесс в многопроцессных приложениях Android.
Следующие шаги
Просмотрите и запустите пример кода Android Performance Monitoring на GitHub .
Узнайте больше о данных, автоматически собираемых с помощью Performance Monitoring :
- Данные, связанные с жизненным циклом вашего приложения, например время запуска приложения.
- Данные для рендеринга экрана в вашем приложении
- Данные для сетевых запросов HTTP/S, выдаваемых вашим приложением.
Просматривайте, отслеживайте и фильтруйте данные о производительности в консоли Firebase .
Добавьте мониторинг конкретных задач или рабочих процессов в свое приложение, используя специальные трассировки кода .
Используйте атрибуты для фильтрации данных о производительности .