Wprowadzenie do Monitorowania wydajności na urządzeniach z Androidem

Zanim zaczniesz

Jeśli jeszcze nie masz tego za sobą, dodaj Firebase do swojego projektu na Androida.

Krok 1. Dodaj do aplikacji pakiet SDK Performance Monitoring

Gdy dodasz pakiet SDK Performance Monitoring, Firebase automatycznie rozpocznie zbieranie danych dane renderowania ekranu i danych aplikacji z cyklem życia aplikacji (np. czas uruchomienia aplikacji). Do aby umożliwić Firebase monitorowanie żądań sieciowych, musisz również dodać monitorowanie wydajności Wtyczka Gradle (następny krok).

  1. w pliku Gradle (na poziomie aplikacji) modułu, (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle), dodać zależność z biblioteką monitorowania wydajności na Androida. Zalecamy użycie metody Funkcja BoM Firebase na Androida aby kontrolować obsługę wersji biblioteki.

    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:33.1.2"))
    
        // 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 BM Firebase Android BoM, Twoja aplikacja zawsze używa zgodnych wersji bibliotek Firebase na Androida.

    (Wersja alternatywna) Dodawanie zależności biblioteki 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 używasz wielu bibliotek Firebase w aplikacji, zalecamy korzystanie z BoM do zarządzania wersjami biblioteki, dzięki czemu wszystkie wersje

    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.1")
    }
    
    Szukasz modułu biblioteki korzystającego z usługi Kotlin? Zaczyna się za Październik 2023 r. (Firebase BoM 32.5.0), programiści, zarówno w języku Kotlin, jak i w języku Java, zależą od modułu biblioteki głównej (więcej informacji znajdziesz w Najczęstsze pytania na temat tej inicjatywy).

  2. 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 automatycznie uruchomi się zbieranie danych dla Żądania sieciowe HTTP/S. umożliwia również instrumentowanie niestandardowych logów czasu za pomocą Adnotacja@AddTrace.

  1. w pliku Gradle na poziomie głównym (na poziomie projektu); (<project>/build.gradle.kts lub <project>/build.gradle), dodaj Wtyczka 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.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
    }
    
  2. w pliku Gradle modułu (na poziomie aplikacji); (zwykle <project>/<app-module>/build.gradle.kts lub <project>/<app-module>/build.gradle), dodaj funkcję Monitorowanie wydajności Wtyczka 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. 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 . Jeśli nadal tworzysz aplikację lokalnie, użyj jej, aby wygenerować zdarzenia do początkowego zbierania i przetwarzania danych.

  1. Generowanie zdarzeń przez przełączanie aplikacji między tłem a pierwszym planem wielokrotnie i korzystając z aplikacji, przechodząc na różne ekrany, lub uruchamiać żądania sieciowe.

  2. Otwórz panel Skuteczność. w konsoli Firebase. Początkowe dane powinny się wyświetlić w ciągu za kilka minut.

    Jeśli nie widzisz swoich danych początkowych, zapoznaj się z sekcją dotyczącą rozwiązywania problemów .

Krok 4. (Opcjonalnie) Wyświetl komunikaty z dziennika dotyczące zdarzeń związanych z wydajnością

  1. Włącz logowanie debugowania na potrzeby Monitorowania wydajności w czasie kompilacji, dodając <meta-data> do pliku AndroidManifest.xml aplikacji, na przykład:

    <application>
        <meta-data
          android:name="firebase_performance_logcat_enabled"
          android:value="true" />
    </application>
    
  2. Sprawdź, czy w komunikatach logu nie ma żadnych komunikatów o błędach.

  3. Monitorowanie wydajności oznacza komunikaty logu tagiem FirebasePerformance. Korzystanie z Logcat możesz w szczególności zobaczyć śledzenie czasu trwania i sieć HTTP/S, żądania logowania, uruchamiając następujące polecenie:

    adb logcat -s FirebasePerformance
  4. Sprawdź następujące typy logów, które wskazują, że Monitorowanie wydajności jest rejestrowanie zdarzeń 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. Może to chwilę potrwać momentu aktualizacji danych na pulpicie nawigacyjnym.

Jeśli aplikacja nie rejestruje zdarzeń związanych z wydajnością, zapoznaj się z informacjami na temat 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: instrumentów niestandardowych logów czasu.

Dzięki niestandardowemu śledzeniu kodu możesz sprawdzić, ile czasu zajmuje uruchomienie aplikacji określonego zadania lub zestawu zadań, np. wczytanie zestawu obrazów lub wysłanie zapytań; w bazie danych. Domyślnym wskaźnikiem niestandardowego śledzenia kodu jest jego czas trwania, ale możesz też dodawać wskaźniki niestandardowe, takie jak trafienia w pamięci podręcznej i ostrzeżenia związane z pamięcią.

W kodzie definiujesz początek i koniec niestandardowego logu czasu (oraz dodaj dowolne wymagane dane niestandardowe) za pomocą interfejsu API dostępnego w pakiecie SDK Performance Monitoring. W przypadku aplikacji na Androida możesz też monitorować czas trwania określonych metod za pomocą Adnotacja@AddTrace.

Zapoznaj się z artykułem Dodawanie monitorowania dla określonego kodu. , by dowiedzieć się więcej o tych funkcjach i sposobach ich dodawania do aplikacji.

Krok 6. Wdróż aplikację i sprawdź jej wyniki

Po sprawdzeniu monitorowania wydajności na co najmniej jednym urządzeniu testowym możesz: wdrożyć zaktualizowaną wersję aplikacji u użytkowników.

Dane o skuteczności możesz sprawdzać w Panel Skuteczność w konsoli Firebase.

Znane problemy

  • Wtyczka do monitorowania wydajności w wersji 1.1.0 może powodować niezgodność w Guavie który daje taki błąd:

    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 jest 1.4.2).

    • Zastąp wiersz zależności wtyczki Monitorowanie wydajności w Plik 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 całkowity rozmiar ładunku dla żądań sieciowych HTTP na podstawie na wartości ustawionej w nagłówku HTTP content-length. Ta wartość może nie być zawsze podawać dokładne informacje.

  • Monitorowanie wydajności obsługuje tylko główny proces w wieloprocesowych aplikacjach na Androida.

Dalsze kroki