Catch up on everthing we announced at this year's Firebase Summit. Learn more

Zacznij korzystać z monitorowania wydajności dla systemu Android

Zanim zaczniesz

Jeśli tego nie zrobiłeś, dodaj Firebase do projektu Android .

Krok 1: Dodaj do SDK monitorowania wydajności aplikacji

Po dodaniu Performance Monitoring SDK, Firebase automatycznie rozpoczyna zbieranie danych dla Twojej aplikacji ekranu renderingu i dane związane z cyklem życia aplikacji (jak czas rozpoczęcia aplikacji ). Aby włączyć Firebase monitorować żądania sieciowe, należy również dodać Monitorowanie wydajności Gradle wtyczki (następny krok).

  1. Korzystanie z Firebase Android Bom , deklarują zależność dla Monitorowanie wydajności biblioteki Android w module (app szczebla) Gradle plik (zazwyczaj app/build.gradle ).

    Jawa

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:29.0.1')
    
        // 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 Bom Android , aplikacja będzie zawsze używać kompatybilne wersje bibliotek Firebase Android.

    (Alternatywna) Stwierdzenie Firebase zależności biblioteki 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.

    Należy pamiętać, że w przypadku korzystania z wielu bibliotek Firebase w swojej aplikacji, zalecamy korzystania z BOM do zarządzania wersjami biblioteki, co gwarantuje, że wszystkie wersje są kompatybilne.

    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.0.4'
    }
    

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:29.0.1')
    
        // 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 Bom Android , aplikacja będzie zawsze używać kompatybilne wersje bibliotek Firebase Android.

    (Alternatywna) Stwierdzenie Firebase zależności biblioteki 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.

    Należy pamiętać, że w przypadku korzystania z wielu bibliotek Firebase w swojej aplikacji, zalecamy korzystania z BOM do zarządzania wersjami biblioteki, co gwarantuje, że wszystkie wersje są kompatybilne.

    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.0.4'
    }
    

  2. Ponownie skompiluj swoją aplikację.

Krok 2: Dodaj plugin do monitorowania wydajności aplikacji

Po dodaniu Performance Monitoring wtyczki Gradle, Firebase automatycznie rozpoczyna zbieranie danych dla HTTP / S żądań sieciowych . Wtyczka umożliwia również instrumentem niestandardowych śladów kod za pomocą @AddTrace adnotacji .

  1. W module (app szczebla) Gradle plik (zazwyczaj app/build.gradle ), należy zastosować wtyczkę do monitorowania wydajności:

    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 {
      // ...
    }
    
  2. W swoim głównym poziomie (projekt podstawowy) Plik Gradle ( build.gradle ), dodać zasady obejmują wtyczki Monitorowanie wydajności.

    buildscript {
    
        repositories {
          // Check that you have the following line (if not, add it):
          google()  // Google's Maven repository
          // Add the Bintray repository
          jcenter()
        }
    
        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.10'  // Google Services plugin
    
          // Add the dependency for the Performance Monitoring plugin
          classpath 'com.google.firebase:perf-plugin:1.4.0'  // Performance Monitoring plugin
        }
    }
    
  3. Ponownie skompiluj swoją aplikację.

Krok 3: Generowanie zdarzeń osiągi początkowym wyświetlaniem danych

Firebase rozpocznie przetwarzanie zdarzeń po pomyślnym dodaniu pakietu SDK do aplikacji. Jeśli nadal programujesz lokalnie, wejdź w interakcję z aplikacją, aby wygenerować zdarzenia do 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ą przez nawigowanie po ekranach i/lub wyzwalając żądania sieciowe.

  2. Idź na desce rozdzielczej wydajności konsoli Firebase. Powinieneś zobaczyć swoje początkowe dane w ciągu kilku minut.

    Jeśli nie pojawi się ekran swojego wstępnych danych, przejrzeć wskazówki dotyczące rozwiązywania problemów .

Krok 4: (opcjonalnie) Przeglądanie wiadomości dziennika zdarzeń dla wydajności

  1. Włącz rejestrowanie debugowania dla Monitorowanie wydajności w czasie kompilacji dodając <meta-data> elementu do swojej aplikacji AndroidManifest.xml pliku, tak jak poniżej:

    <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. Monitorowanie wydajności tagi swoje komunikaty dziennika z 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
  4. 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
  5. Kliknij adres URL, aby wyświetlić swoje dane w konsoli Firebase. Aktualizacja danych w panelu może chwilę potrwać.

Jeśli aplikacja nie jest rejestrowanie zdarzeń z wydajnością, przejrzeć wskazówki dotyczące rozwiązywania problemów .

Krok 5: (opcjonalnie) Dodaj własny monitoring dla kodu specyficznego

Monitorować dane dotyczące wydajności związanych z kodem określonego w swojej aplikacji, MOŻESZ przyrządów kod zwyczaj ślady .

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 zestaw SDK monitorowania wydajności. Dla aplikacji Android, można również monitorować czas trwania konkretnych metod wykorzystujących @AddTrace adnotacji .

Wizyta Dodaj monitorowania specyficzny kod , aby dowiedzieć się więcej na temat tych funkcji i jak je dodać do swojej aplikacji.

Krok 6: Rozmieszczanie app następnie powodowało

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żna monitorować dane dotyczące wydajności w desce rozdzielczej wydajności 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.0).

    • Wymień Monitorowanie wydajności linii plugin zależność w swoim głównym poziomie (projekt podstawowy) plików Gradle ( 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