Zanim zaczniesz
Dodaj Firebase do swojego projektu Android, chyba że masz to już za sobą.
Krok 1. Dodaj do aplikacji pakiet SDK Performance Monitoring
Gdy dodasz pakiet SDK Performance Monitoring, Firebase zacznie automatycznie zbierać dane dotyczące renderowania ekranu Twojej aplikacji oraz dane związane z jej cyklem życia (np. godzina uruchomienia aplikacji). Aby umożliwić Firebase monitorowanie żądań sieciowych, musisz również dodać wtyczkę Gradle monitorowania wydajności (następny krok).
W pliku Gradle (na poziomie modułu) modułu (na poziomie aplikacji) (zwykle
<project>/<app-module>/build.gradle.kts
lub<project>/<app-module>/build.gradle
) dodaj zależność z biblioteką monitorowania wydajności na Androida. Do kontrolowania obsługi wersji biblioteki zalecamy używanie funkcji Firebase Android BoM.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.0.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") }
Dzięki użyciu BoM Firebase Android BoM Twoja aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.
(Alternatywnie) Dodawanie zależności bibliotek Firebase bez korzystania z BM
Jeśli nie chcesz używać Firebase BoM, musisz określić każdą wersję biblioteki Firebase w wierszu zależności.
Pamiętaj, że jeśli w swojej aplikacji używasz wielu bibliotek Firebase, zdecydowanie zalecamy korzystanie z BoM do zarządzania wersjami bibliotek. Dzięki temu będziesz mieć pewność, że wszystkie wersje są zgodne.
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.0") }
Ponownie skompiluj aplikację.
Krok 2. Dodaj do aplikacji wtyczkę do monitorowania wydajności
Gdy dodasz wtyczkę do monitorowania wydajności do monitorowania wydajności, Firebase zacznie automatycznie zbierać dane z żądań sieciowych HTTP/S. Wtyczka umożliwia też instrumentowanie logów czasu niestandardowego za pomocą adnotacji@AddTrace.
Do pliku Gradle na poziomie głównym (na poziomie projektu) (
<project>/build.gradle.kts
lub<project>/build.gradle
) dodaj wtyczkę do Gradle 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.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.4.1" 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.1' apply false // Add the dependency for the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' version '1.4.2' apply false }
Do pliku Gradle modułu (na poziomie aplikacji) (zwykle
<project>/<app-module>/build.gradle.kts
lub<project>/<app-module>/build.gradle
) dodaj wtyczkę Gradle do 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 aplikację.
Krok 3. Wygeneruj zdarzenia dotyczące skuteczności na potrzeby początkowego wyświetlania danych
Firebase rozpocznie przetwarzanie zdarzeń, gdy dodasz pakiet SDK do aplikacji. Jeśli nadal tworzysz aplikację lokalnie, użyj jej, aby wygenerować zdarzenia do wstępnego zbierania i przetwarzania danych.
Aby generować zdarzenia, kilka razy przełączaj aplikację między tłem a pierwszym planem, wchodzij w interakcję z aplikacją za pomocą przechodzenia między ekranami lub uruchamiaj żądania sieciowe.
Otwórz panel Skuteczność w konsoli Firebase. Pierwsze dane powinny wyświetlić się w ciągu kilku minut.
Jeśli nie widzisz swoich danych początkowych, przeczytaj wskazówki dotyczące rozwiązywania problemów.
Krok 4. (Opcjonalnie) Wyświetl komunikaty z dziennika dotyczące zdarzeń związanych z wydajnością
Włącz logowanie debugowania w ramach monitorowania wydajności w czasie kompilacji, dodając element
<meta-data>
do plikuAndroidManifest.xml
aplikacji w następujący sposób:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>
Sprawdź, czy w komunikatach logu nie ma żadnych komunikatów o błędach.
Monitorowanie wydajności oznacza komunikaty logu tagiem
FirebasePerformance
. Korzystając z filtrowania logcat, możesz wyświetlić śledzenie czasu trwania i logowanie żądań sieciowych HTTP/S, uruchamiając to polecenie:adb logcat -s FirebasePerformance
Sprawdź następujące typy logó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. Aktualizacja danych w panelu może chwilę potrwać.
Jeśli 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 aplikacji, możesz skorzystać z niestandardowych logów czasu.
Niestandardowy ślad kodu pozwala sprawdzić, ile czasu zajmuje aplikacji wykonanie określonego zadania lub zestawu zadań, takich jak wczytanie zestawu obrazów czy wysłanie zapytania do bazy danych. Domyślnym wskaźnikiem niestandardowego śledzenia kodu jest jego czas trwania, ale możesz też dodać wskaźniki niestandardowe, takie jak trafienia w pamięci podręcznej i ostrzeżenia dotyczące pamięci.
W swoim kodzie definiujesz początek i koniec niestandardowego logu czasu (oraz dodajesz dowolne odpowiednie dane niestandardowe) za pomocą interfejsu API dostępnego w pakiecie SDK Performance Monitoring. W przypadku aplikacji na Androida możesz też sprawdzać czas trwania poszczególnych metod, korzystając z adnotacji@AddTrace.
Więcej informacji o tych funkcjach i dodawaniu ich do aplikacji znajdziesz w artykule Dodawanie monitorowania na potrzeby określonego kodu.
Krok 6. Wdróż aplikację i sprawdź jej wyniki
Po sprawdzeniu monitorowania wydajności za pomocą co najmniej jednego urządzenia testowego możesz wdrożyć zaktualizowaną wersję aplikacji na urządzeniach użytkowników.
Dane o skuteczności możesz monitorować w panelu Skuteczność w konsoli Firebase.
Znane problemy
Wtyczka do monitorowania wydajności w wersji 1.1.0 może powodować niezgodność zależności Guawy, co może doprowadzić do tego błędu:
Error:Execution failed for task ':app:packageInstantRunResourcesDebug'. > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;
Jeśli widzisz ten błąd:
Uaktualnij wtyczkę Monitorowanie wydajności do wersji 1.1.1 lub nowszej (najnowsza wersja to 1.4.2).
Zastąp wiersz zależności wtyczki Performance Monitoring w pliku Gradle na poziomie głównym (na poziomie projektu) (
<project>/build.gradle.kts
lub<project>/build.gradle
) w ten 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 łączny 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.
Dalsze kroki
Sprawdź i uruchom przykładowy kod monitorowania wydajności na Androida na GitHubie.
Więcej informacji o danych zbieranych automatycznie przez Monitorowanie wydajności:
- dane związane z cyklem życia aplikacji, takie jak godzina uruchomienia aplikacji;
- dane na potrzeby renderowania ekranu w aplikacji;
- Dane żądań sieciowych HTTP/S wysyłanych przez Twoją aplikację
Możesz wyświetlać, śledzić i filtrować dane o skuteczności w konsoli Firebase.
Dodaj monitorowanie pod kątem określonych zadań lub przepływów pracy w aplikacji, stosując niestandardowe śledzenie kodu.