Zanim zaczniesz
Jeśli jeszcze tego nie zrobiłeś, dodaj Firebase do swojego projektu na Androida .
Krok 1 : Dodaj pakiet SDK do monitorowania wydajności do swojej aplikacji
Po dodaniu pakietu SDK monitorowania wydajności Firebase automatycznie rozpocznie zbieranie danych do renderowania ekranu aplikacji oraz danych związanych z cyklem życia aplikacji (np. czas uruchomienia aplikacji ). Aby umożliwić Firebase monitorowanie żądań sieciowych, musisz również dodać wtyczkę Performance Monitoring Gradle (następny krok).
Za pomocą Firebase Android BoM zadeklaruj zależność dla biblioteki Performance Monitoring Android w pliku Gradle modułu (na poziomie aplikacji) (zwykle
app/build.gradle
).Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.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' }
Korzystając z Firebase Android BoM , Twoja aplikacja będzie zawsze używać zgodnych wersji bibliotek Firebase Android.
(Alternatywnie) Zadeklaruj zależności biblioteki Firebase bez użycia BoM
Jeśli zdecydujesz się nie korzystać z BoM Firebase, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.
Pamiętaj, że jeśli korzystasz z wielu bibliotek Firebase w swojej aplikacji, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co zapewnia zgodność wszystkich wersji.
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.1.0' }
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.1.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' }
Korzystając z Firebase Android BoM , Twoja aplikacja będzie zawsze używać zgodnych wersji bibliotek Firebase Android.
(Alternatywnie) Zadeklaruj zależności biblioteki Firebase bez użycia BoM
Jeśli zdecydujesz się nie korzystać z BoM Firebase, musisz określić każdą wersję biblioteki Firebase w jej wierszu zależności.
Pamiętaj, że jeśli korzystasz z wielu bibliotek Firebase w swojej aplikacji, zdecydowanie zalecamy używanie BoM do zarządzania wersjami bibliotek, co zapewnia zgodność wszystkich wersji.
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.1.0' }
Ponownie skompiluj swoją aplikację.
Krok 2 : Dodaj wtyczkę Performance Monitoring do swojej aplikacji
Po dodaniu wtyczki Performance Monitoring Gradle Firebase automatycznie rozpocznie zbieranie danych dla żądań sieciowych HTTP/S . Wtyczka umożliwia również instrumentację niestandardowych śladów kodu za pomocą adnotacji @AddTrace .
W pliku Gradle modułu (na poziomie aplikacji) (zwykle
app/build.gradle
) zastosuj wtyczkę 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 { // ... }
W pliku Gradle na poziomie głównym (na poziomie projektu) (
build.gradle
) dodaj reguły, aby uwzględnić wtyczkę Performance Monitoring.buildscript { repositories { // Check that you have the following lines (if not, add them): google() // Google's Maven repository mavenCentral() // Maven Central repository } 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.12' // Google Services plugin // Add the dependency for the Performance Monitoring plugin classpath 'com.google.firebase:perf-plugin:1.4.1' // Performance Monitoring plugin } }
Ponownie skompiluj swoją aplikację.
Krok 3 : Wygeneruj zdarzenia dotyczące wydajności w celu wstępnego wyświetlenia danych
Firebase rozpocznie przetwarzanie zdarzeń, gdy pomyślnie dodasz pakiet SDK do swojej aplikacji. Jeśli nadal programujesz lokalnie, wejdź w interakcję z aplikacją, aby wygenerować 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ą poprzez nawigowanie po ekranach i/lub wyzwalając żądania sieciowe.
Przejdź do panelu wydajności konsoli Firebase. Powinieneś zobaczyć swoje początkowe dane w ciągu kilku minut.
Jeśli nie widzisz początkowych danych, zapoznaj się ze wskazówkami dotyczącymi rozwiązywania problemów .
Krok 4 : (Opcjonalnie) Wyświetl komunikaty dziennika dotyczące zdarzeń dotyczących 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 taguje swoje komunikaty dziennika za pomocą
FirebasePerformance
. Korzystając z filtrowania logcat, można w szczególności wyświetlić ś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 funkcja Performance Monitoring 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ć swoje dane w konsoli Firebase. Aktualizacja danych w panelu może zająć kilka chwil.
Jeśli Twoja aplikacja nie rejestruje zdarzeń dotyczących 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 o 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 Twojej aplikacji wykonanie określonego zadania lub zestawu zadań, takich jak ładowanie zestawu obrazów lub wysyłanie zapytań do bazy danych. Domyślną metryką 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 (i dodajesz dowolne żądane niestandardowe metryki) za pomocą interfejsu API dostarczanego przez pakiet Performance Monitoring SDK. W przypadku aplikacji na Androida możesz również monitorować czas trwania określonych metod za pomocą adnotacji @AddTrace .
Odwiedź Dodaj monitorowanie, aby uzyskać konkretny kod, aby dowiedzieć się więcej o tych funkcjach i sposobach ich dodawania do aplikacji.
Krok 6 : Wdróż aplikację, a następnie przejrzyj wyniki
Po sprawdzeniu poprawności 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ść konsoli Firebase.
Znane problemy
Wtyczka Performance Monitoring Gradle v1.1.0 może powodować niezgodność w zależnościach 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 to wersja 1.4.1).
Zastąp wiersz zależności wtyczki Performance Monitoring w pliku Gradle na poziomie głównym (na poziomie projektu) (
build.gradle
), w następujący sposób: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 monitorowania wydajności systemu Android w witrynie GitHub .
Dowiedz się więcej o danych zbieranych automatycznie przez Performance Monitoring:
- Dane związane z cyklem życia Twojej aplikacji, np. godzina uruchomienia aplikacji
- Dane do renderowania ekranu w Twojej aplikacji
- Dane dla żądań sieciowych HTTP/S wysyłanych przez Twoją aplikację
Wyświetlaj, śledź i filtruj dane o wydajności w konsoli Firebase.
Dodaj monitorowanie określonych zadań lub przepływów pracy w swojej aplikacji przez instrumentację niestandardowych śladów kodu .