Zacznij korzystać z monitorowania wydajności dla systemu Android

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 aplikacji i dane związane z cyklem życia aplikacji (np. czas rozpoczęcia aplikacji ). Aby umożliwić Firebase monitorowanie żądań sieciowych, musisz także dodać wtyczkę Performance Monitoring Gradle (następny krok).

  1. 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 dla Androida. Zalecamy używanie Firebase Android BoM do kontrolowania wersji bibliotek.

    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:32.8.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")
    }
    

    Korzystając z Firebase Android BoM , Twoja aplikacja będzie zawsze korzystać z kompatybilnych wersji bibliotek Firebase Android.

    (Alternatywa) Dodaj zależności biblioteki Firebase bez użycia 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 używanie BoM do zarządzania wersjami bibliotek, co gwarantuje, że wszystkie wersje będą kompatybilne.

    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.5.2")
    }
    
    Szukasz modułu bibliotecznego specyficznego dla Kotlina? Począwszy od października 2023 r. (Firebase BoM 32.5.0) zarówno programiści Kotlin, jak i Java mogą polegać na głównym module biblioteki (więcej informacji można znaleźć w często zadawanych pytaniach dotyczących tej inicjatywy ).

  2. Skompiluj ponownie aplikację.

Krok 2 : Dodaj wtyczkę Gradle do monitorowania wydajności do swojej aplikacji

Po dodaniu wtyczki Performance Monitoring Gradle Firebase automatycznie rozpoczyna zbieranie danych dla żądań sieciowych HTTP/S . Wtyczka umożliwia także instrumentowanie niestandardowych śladów kodu przy użyciu adnotacji @AddTrace .

  1. W pliku Gradle na poziomie głównym (na poziomie projektu) ( <project>/build.gradle.kts lub <project>/build.gradle ) dodaj wtyczkę Performance Monitoring Gradle:

    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
    }
    
  2. W pliku Gradle modułu (na poziomie aplikacji) (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle ) dodaj wtyczkę Performance Monitoring Gradle:

    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. Skompiluj ponownie aplikację.

Krok 3 : Wygeneruj zdarzenia wydajnościowe do początkowego wyświetlenia danych

Firebase rozpoczyna przetwarzanie zdarzeń po pomyślnym dodaniu pakietu SDK do swojej aplikacji. Jeśli nadal rozwijasz się lokalnie, wejdź w interakcję ze swoją aplikacją, aby wygenerować zdarzenia na potrzeby wstępnego gromadzenia i przetwarzania danych.

  1. Generuj zdarzenia, kilkakrotnie przełączając aplikację między tłem a pierwszym planem, wchodząc w interakcję z aplikacją poprzez nawigację między ekranami i/lub wyzwalając żądania sieciowe.

  2. Przejdź do panelu Wydajność konsoli Firebase. Początkowe dane powinny pojawić się 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ą

  1. Włącz rejestrowanie debugowania dla monitorowania wydajności w czasie kompilacji, dodając element <meta-data> do pliku AndroidManifest.xml swojej aplikacji, w następujący sposób:

    <application>
        <meta-data
          android:name="firebase_performance_logcat_enabled"
          android:value="true" />
    </application>
    
  2. Sprawdź komunikaty dziennika pod kątem komunikatów o błędach.

  3. Performance Monitoring oznacza swoje komunikaty dziennika za pomocą FirebasePerformance . Korzystając z filtrowania logcat, możesz 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
  4. Sprawdź następujące typy dzienników wskazujące, że Monitorowanie wydajności rejestruje zdarzenia dotyczące wydajności:

    • Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. Kliknij adres URL, aby wyświetlić dane w konsoli Firebase. Aktualizacja danych na pulpicie nawigacyjnym może zająć kilka chwil.

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 konkretnym kodem w aplikacji, możesz instrumentować niestandardowe ślady kodu .

Dzięki niestandardowemu śledzeniu kodu możesz zmierzyć, ile czasu zajmuje aplikacji wykonanie określonego zadania lub zestawu zadań, np. załadowanie zestawu obrazów lub wykonanie zapytania w bazie danych. Domyślną metryką dla niestandardowego śledzenia kodu jest czas jego 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 niestandardowe metryki) za pomocą interfejsu API udostępnianego przez zestaw SDK do monitorowania wydajności. W przypadku aplikacji na Androida możesz także monitorować czas trwania określonych metod za pomocą adnotacji @AddTrace .

Odwiedź stronę Dodaj monitorowanie dla określonego kodu , aby dowiedzieć się więcej o tych funkcjach i sposobie dodawania ich do swojej aplikacji.

Krok 6 : Wdróż aplikację, a następnie sprawdź wyniki

Po sprawdzeniu monitorowania wydajności przy użyciu co najmniej jednego urządzenia testowego możesz wdrożyć zaktualizowaną wersję aplikacji wśród użytkowników.

Możesz monitorować dane dotyczące wydajności w panelu wydajności w konsoli Firebase.

Znane problemy

  • Wtyczka Performance Monitoring Gradle v1.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 to wersja 1.4.2).

    • Zastąp linię 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 długości zawartości HTTP. 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