Zanim zaczniesz
Jeśli jeszcze tego nie zrobiłeś, dodaj Firebase do swojego projektu na Androida .
Krok 1 : Dodaj zestaw SDK do monitorowania wydajności do swojej aplikacji
Po dodaniu pakietu SDK do monitorowania wydajności Firebase automatycznie zaczyna zbierać dane dotyczące renderowania ekranu Twojej aplikacji oraz dane związane z cyklem życia aplikacji (np. godzina uruchomienia aplikacji ). Aby umożliwić Firebase monitorowanie żądań sieciowych, musisz także dodać wtyczkę Performance Monitoring Gradle (następny krok).
W pliku Gradle modułu (na poziomie aplikacji) (zwykle
<project>/<app-module>/build.gradle.kts
lub<project>/<app-module>/build.gradle
) dodaj zależność dla monitorowania wydajności Biblioteka Androida. Zalecamy używanie Firebase Android BoM do kontrolowania wersji bibliotek.Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // 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-ktx") }
Korzystając z Firebase Android BoM , Twoja aplikacja będzie zawsze korzystać ze zgodnych wersji bibliotek Firebase Android.
(Alternatywnie) Dodaj zależności biblioteki Firebase bez korzystania z BoM
Jeśli zdecydujesz się nie używać BoM Firebase, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.
Pamiętaj, że jeśli używasz w swojej aplikacji wielu bibliotek Firebase, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami bibliotek, co zapewnia zgodność wszystkich wersji.
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-ktx:20.4.1") }
Java
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.3.1")) // 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") }
Korzystając z Firebase Android BoM , Twoja aplikacja będzie zawsze korzystać ze zgodnych wersji bibliotek Firebase Android.
(Alternatywnie) Dodaj zależności biblioteki Firebase bez korzystania z BoM
Jeśli zdecydujesz się nie używać BoM Firebase, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.
Pamiętaj, że jeśli używasz w swojej aplikacji wielu bibliotek Firebase, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami bibliotek, co zapewnia zgodność wszystkich wersji.
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:20.4.1") }
Ponownie skompiluj swoją aplikację.
Krok 2 : Dodaj wtyczkę Performance Monitoring Gradle do swojej aplikacji
Po dodaniu wtyczki Performance Monitoring Gradle Firebase automatycznie zaczyna zbierać dane dotyczące żądań sieciowych HTTP/S . Wtyczka umożliwia również instrumentowanie niestandardowych śladów kodu przy użyciu adnotacji @AddTrace .
W pliku Gradle na poziomie głównym (na poziomie projektu) (
<project>/build.gradle.kts
lub<project>/build.gradle
) dodaj wtyczkę Gradle do monitorowania wydajności: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.2.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.3.15" 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.2.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.3.15' apply false // Add the dependency for the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' version '1.4.2' apply false }
W pliku Gradle modułu (na poziomie aplikacji) (zwykle
<project>/<app-module>/build.gradle.kts
lub<project>/<app-module>/build.gradle
) dodaj wtyczkę Gradle monitorowania wydajności: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' ... }
Ponownie skompiluj swoją aplikację.
Krok 3 : Wygeneruj zdarzenia dotyczące wydajności dla początkowego wyświetlenia danych
Firebase rozpocznie przetwarzanie zdarzeń, gdy pomyślnie dodasz pakiet SDK do swojej aplikacji. Jeśli nadal rozwijasz się lokalnie, korzystaj z aplikacji, aby generować zdarzenia do wstępnego gromadzenia i przetwarzania danych.
Generuj zdarzenia, kilkakrotnie przełączając aplikację między tłem a pierwszym planem, wchodząc w interakcję z aplikacją, nawigując po ekranach i/lub uruchamiając żądania sieciowe.
Przejdź do pulpitu wydajności konsoli Firebase. Początkowe dane powinny zostać wyświetlone w ciągu kilku minut.
Jeśli nie widzisz danych początkowych, zapoznaj się ze wskazówkami dotyczącymi rozwiązywania problemów .
Krok 4 : (Opcjonalnie) Wyświetl komunikaty dziennika dotyczące zdarzeń związanych z wydajnością
Włącz rejestrowanie debugowania dla monitorowania wydajności w czasie kompilacji, dodając element
<meta-data>
do plikuAndroidManifest.xml
aplikacji, na przykład:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>
Sprawdź komunikaty dziennika pod kątem komunikatów o błędach.
Monitorowanie wydajności oznacza swoje komunikaty dziennika za pomocą
FirebasePerformance
. Korzystając z filtrowania logcat, możesz w szczególności przeglądać śledzenie czasu trwania i rejestrowanie żądań sieciowych HTTP/S, uruchamiając następujące polecenie:adb logcat -s FirebasePerformance
Sprawdź następujące typy dzienników, które wskazują, że monitorowanie wydajności rejestruje zdarzenia dotyczące wydajności:
-
Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
-
Logging network request trace: URL
-
Kliknij adres URL, aby wyświetlić dane w konsoli Firebase. Zaktualizowanie danych w panelu może chwilę potrwać.
Jeśli Twoja aplikacja nie rejestruje zdarzeń związanych z wydajnością, zapoznaj się ze wskazówkami dotyczącymi rozwiązywania problemów .
Krok 5 : (Opcjonalnie) Dodaj niestandardowe monitorowanie dla określonego kodu
Aby monitorować dane dotyczące wydajności powiązane z określonym kodem w Twojej aplikacji, możesz instrumentować niestandardowe ślady kodu .
Dzięki niestandardowemu śledzeniu kodu możesz zmierzyć, ile czasu zajmuje aplikacji ukończenie określonego zadania lub zestawu zadań, takich jak załadowanie zestawu obrazów lub wysłanie zapytania do bazy danych. Domyślną metryką dla niestandardowego śledzenia kodu jest jego czas trwania, ale można również dodać niestandardowe metryki, takie jak trafienia w pamięci podręcznej i ostrzeżenia dotyczące pamięci.
W swoim kodzie definiujesz początek i koniec niestandardowego śledzenia kodu (oraz dodajesz dowolne niestandardowe metryki) za pomocą interfejsu API udostępnianego przez zestaw SDK do monitorowania wydajności. W przypadku aplikacji na Androida można również monitorować czas trwania określonych metod za pomocą adnotacji @AddTrace .
Odwiedź Dodaj monitorowanie dla określonego kodu, aby dowiedzieć się więcej o tych funkcjach i jak dodać je do swojej aplikacji.
Krok 6 : Wdróż aplikację, a następnie przejrzyj wyniki
Po zweryfikowaniu monitorowania wydajności przy użyciu co najmniej jednego urządzenia testowego możesz wdrożyć zaktualizowaną wersję aplikacji dla użytkowników.
Możesz monitorować dane dotyczące wydajności w panelu wydajności konsoli Firebase.
Znane problemy
Wtyczka Performance Monitoring Gradle w wersji 1.1.0 może powodować niezgodność zależności Guava, co skutkuje następującym błędem:
Error:Execution failed for task ':app:packageInstantRunResourcesDebug'. > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;
Jeśli widzisz ten błąd, możesz:
Zaktualizuj wtyczkę Performance Monitoring do wersji 1.1.1 lub nowszej (najnowsza wersja to 1.4.2).
Zastąp wiersz zależności wtyczki monitorowania wydajności w pliku Gradle na poziomie głównym (na poziomie projektu) (
<project>/build.gradle.kts
lub<project>/build.gradle
) w następujący sposób: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' } } }
Monitorowanie wydajności raportuje całkowity rozmiar ładunku dla żądań sieciowych HTTP na podstawie wartości ustawionej w nagłówku HTTP content-length. Ta wartość może nie zawsze być dokładna.
Monitorowanie wydajności obsługuje tylko główny proces w wieloprocesowych aplikacjach na Androida.
Następne kroki
Przejrzyj i uruchom przykładowy kod systemu Android do monitorowania wydajności w serwisie GitHub .
Dowiedz się więcej o danych zbieranych automatycznie przez monitorowanie wydajności:
- Dane związane z cyklem życia Twojej aplikacji, takie jak czas jej uruchomienia
- Dane do renderowania ekranu w Twojej aplikacji
- Dane dotyczące żądań sieciowych HTTP/S wysyłanych przez Twoją aplikację
Wyświetlaj, śledź i filtruj dane dotyczące wydajności w konsoli Firebase.
Dodaj monitorowanie określonych zadań lub przepływów pracy w swojej aplikacji, instrumentując niestandardowe ślady kodu .