Na tej stronie znajdziesz wskazówki dotyczące rozwiązywania problemów z korzystaniem z usługi Performance Monitoring lub za pomocą funkcji i narzędzi Performance Monitoring.
Pierwsze kroki w celu rozwiązania problemów
Te 2 sprawdzenia to ogólne sprawdzone metody, które zalecamy zastosować przed dalszym rozwiązywaniem problemów.
1. Sprawdzanie komunikatów z dziennika pod kątem zdarzeń związanych ze skutecznością
Sprawdź komunikaty logu, aby upewnić się, że pakiet SDK Performance Monitoring przechwytuje zdarzenia wydajności.
Jak wyświetlać komunikaty z dziennika dotyczące zdarzeń związanych z wydajnością
Włącz logowanie debugowania Performance Monitoring w momencie kompilacji, dodając
<meta-data>
do plikuAndroidManifest.xml
aplikacji, na przykład:<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.
Performance Monitoring oznacza swoje 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
Sprawdź następujące typy logów, które wskazują, że Performance Monitoring to rejestrowanie zdarzeń 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. 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 .
2. Sprawdzanie Panelu stanu Firebase
Zajrzyj do Panelu stanu Firebase w przypadku wystąpiła przerwa w działaniu usługi Firebase lub Performance Monitoring.
Pierwsze kroki z usługą Performance Monitoring
Jeśli dopiero zaczynasz korzystać z Performance Monitoring (iOS+ | Android | Internet), wykonaj podane niżej czynności w celu rozwiązania problemu. mogą pomóc w rozwiązywaniu problemów związanych z wykrywaniem pakietu SDK przez Firebase lub wyświetlaniem Twoje pierwsze dane o skuteczności w konsoli Firebase.
Pakiet SDK został dodany do aplikacji, ale do konsoli nadal wyświetla się prośba o dodanie SDK
Firebase może wykryć, czy pakiet SDK Performance Monitoring został dodany do aplikacji gdy otrzymuje informacje o zdarzeniach (np. interakcje w aplikacji). Zazwyczaj w ciągu 10 minut od uruchomienia aplikacji dane Wydajność panel konsoli Firebase wyświetla się komunikat „Wykryto pakiet SDK” . Potem, w ciągu 30 min, na pulpicie nawigacyjnym wyświetlane są początkowo przetworzone dane.
Jeśli od dodania do aplikacji najnowszej wersji pakietu SDK minęło ponad 10 minut, a nadal nie widać żadnych zmian, sprawdź logi, aby się upewnić, że Performance Monitoring rejestruje zdarzenia. Aby rozwiązać problem z opóźnionym wykryciem pakietu SDK, wykonaj odpowiednie czynności opisane poniżej.
Aplikacja rejestruje zdarzenia: rozwiązywanie problemów
Upewnij się, że używasz pakietu SDK na Androida Performance Monitoring w wersji 19.1.0 lub nowszej (lub Firebase BoM w wersji 26.3.0 lub nowszej), zobacz Informacje o wersji.
Jeśli nadal tworzysz aplikacje lokalnie, spróbuj wygenerować więcej zdarzeń dla danych kolekcja:
- 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.
Upewnij się, że Twoja konfiguracja Firebase (
google-services.json
) to został prawidłowo dodany do aplikacji i czy plik nie został zmodyfikowany. Sprawdź te kwestie:Nazwa pliku konfiguracyjnego nie zawiera dodatkowych znaków, takich jak
(2)
Plik konfiguracji znajduje się w katalogu moduł (na poziomie aplikacji) aplikacji.
identyfikator aplikacji Firebase na Androida (
mobilesdk_app_id
) wymieniony w pliku konfiguracyjnym; jest właściwe dla Twojej aplikacji. Odszukaj swój identyfikator aplikacji Firebase w sekcji Twoje aplikacje. na karcie Twojego projektu settings .
Jeśli coś jest nie tak z plikiem konfiguracyjnym w Twojej aplikacji, wykonaj te czynności:
Usuń plik konfiguracyjny, który znajduje się obecnie w aplikacji.
Postępuj zgodnie z tymi instrukcjami, aby: pobierz nowy plik konfiguracyjny i dodaj go do swojej aplikacji na Androida.
Jeśli pakiet SDK rejestruje zdarzenia i wygląda na to, że wszystko jest prawidłowo skonfigurowane, ale nadal nie widzisz komunikatu wykrywania pakietu SDK ani przetworzonych danych (po 10 minutach), skontaktuj się z zespołem pomocy Firebase.
Aplikacja nie rejestruje zdarzeń: instrukcje rozwiązywania problemów
Sprawdź konfigurację wtyczki Performance Monitoring Gradle w ten sposób:
Upewnij się, że dodał . W szczególności sprawdź następujące kwestie:
- Dodano wtyczkę (
) w plikuapply plugin: 'com.google.firebase.firebase-perf' build.gradle
modułu (na poziomie aplikacji). - Uwzględniono zależność ścieżki klasy dla wtyczki
(
) w plikuclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
na poziomie projektu.
- Dodano wtyczkę (
Upewnij się, że wtyczka nie jest wyłączona za pomocą żadnego z tych flag:
instrumentationEnabled
w Twoim module (na poziomie aplikacji)build.gradle
plikfirebasePerformanceInstrumentationEnabled
w plikugradle.properties
Sprawdź, czy pakiet SDK Performance Monitoring nie wyłączono za pomocą jednej z następujących flag w pliku
AndroidManifest.xml
:firebase_performance_collection_enabled
firebase_performance_collection_deactivated
Upewnij się, że funkcja Performance Monitoring nie jest wyłączona na .
Jeśli nie możesz znaleźć niczego, co jest wyłączone w aplikacji, skontaktuj się z zespołem pomocy Firebase.
Konsola informuje, że pakiet SDK został wykryty, ale nie wyświetlają się żadne dane
Performance Monitoring przetwarza dane zdarzenia skuteczności, zanim wyświetli je w Panel Skuteczność.
Jeśli od „wykrycia pakietu SDK” minęły ponad 24 godziny” pojawienie się komunikatu, i nadal nie widzisz danych, sprawdź Panelu stanu Firebase w przypadku wystąpienia znanej awarii. Jeśli nie ma przerwy w działaniu usługi, skontaktuj się z zespołem pomocy Firebase.
Rozwiązywanie problemów – ogólne
Jeśli udało Ci się dodać pakiet SDK i używasz w aplikacji dodatku Performance Monitoring, podane niżej wskazówki mogą pomóc w rozwiązaniu ogólnych problemów, Funkcje i narzędzia Performance Monitoring.
Aplikacja nie zapisuje danych wydarzenia związane z występami
Jeśli nie widzisz komunikatów dziennika dotyczących skuteczności zdarzeń, spróbuj wykonać te czynności:
Sprawdź konfigurację wtyczki do obsługi Gradle Performance Monitoring w ten sposób:
Upewnij się, że dodał . W szczególności sprawdź następujące kwestie:
- Dodano wtyczkę (
) w plikuapply plugin: 'com.google.firebase.firebase-perf' build.gradle
modułu (na poziomie aplikacji). - Uwzględniono zależność ścieżki klasy dla wtyczki
(
) w plikuclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
na poziomie projektu.
- Dodano wtyczkę (
Upewnij się, że wtyczka nie jest wyłączone za pomocą żadnego z tych flagi:
instrumentationEnabled
w plikubuild.gradle
(na poziomie modułu) aplikacji.firebasePerformanceInstrumentationEnabled
w plikugradle.properties
Sprawdź, czy pakiet SDK Performance Monitoring nie wyłączono za pomocą jednej z następujących flag w pliku
AndroidManifest.xml
:firebase_performance_collection_enabled
firebase_performance_collection_deactivated
Upewnij się, że funkcja Performance Monitoring nie jest wyłączona na .
Jeśli nie możesz znaleźć niczego, co jest wyłączone w aplikacji, skontaktuj się z zespołem pomocy Firebase.
Panel wyników to brakujące dane zrzutu ekranu
Jeśli brakuje danych do śledzenia renderowania ekranu, wypróbuj te rozwiązania jak rozwiązać problem:
Upewnij się, że używasz najnowszej wersji pakietu Android SDK (wersja 21.0.1). Ślady renderowania ekranu są dostępne tylko w przypadku wersji 15.2.0 lub nowszej.
Upewnij się, że akseleracja sprzętowa nie została wyłączona ręcznie na ekranie.
Upewnij się, że nie używasz DexGuard ani Jack. Performance Monitoring to które są niezgodne z tymi łańcuchami narzędzi.
DexGuard wyłącza automatyczne zbieranie informacji o uruchamianiu aplikacji, jej działaniu na pierwszym planie i w tle. Jednak każda niestandardowe ślady kodu powinno działać normalnie, jeśli aplikacja korzysta z DexGuard.
Interfejs Jack został wycofany i zasadniczo nie należy używać w aplikacji.
W panelu skuteczności brakuje danych z niestandardowego śledzenia
Czy widzisz dane o wydajności dla automatycznie zbieranych logów czasu, ale nie dla niestandardowe ślady kodu? Aby spróbować go rozwiązać, wykonaj te czynności:
Jeśli zostały skonfigurowane niestandardowe ślady kodu za pomocą metody Trace API, sprawdź konfigurację logów czasu, zwłaszcza te:
- Nazwy ścieżek niestandardowego kodu i danych niestandardowych muszą spełniać te wymagania: nie mogą zawierać spacji na początku ani na końcu, nie mogą zaczynać się od znaku podkreślenia (
_
), a ich maksymalna długość to 32 znaki. - Wszystkie ścieżki muszą być uruchamiane i zatrzymywane. Każdy ślad, który nie został uruchomiony, Zatrzymane lub zatrzymane przed rozpoczęciem nie będą rejestrowane.
- Nazwy ścieżek niestandardowego kodu i danych niestandardowych muszą spełniać te wymagania: nie mogą zawierać spacji na początku ani na końcu, nie mogą zaczynać się od znaku podkreślenia (
Jeśli niestandardowe ślady kodu były instrumentowane za pomocą
@AddTrace
, Sprawdź konfigurację wtyczki do obsługi Gradle Performance Monitoring:Upewnij się, że dodał . W szczególności sprawdź następujące kwestie:
- Dodano wtyczkę (
) w plikuapply plugin: 'com.google.firebase.firebase-perf' build.gradle
modułu (na poziomie aplikacji). - Uwzględniono zależność ścieżki klasy dla wtyczki
(
) w plikuclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
na poziomie projektu.
- Dodano wtyczkę (
Upewnij się, że wtyczka nie jest wyłączona za pomocą żadnego z tych flag:
instrumentationEnabled
w Twoim module (na poziomie aplikacji)build.gradle
plikfirebasePerformanceInstrumentationEnabled
w:gradle.properties
plik
Sprawdź komunikaty dziennika i upewnij się, że Performance Monitoring rejestruje oczekiwane ślady niestandardowego kodu.
Jeśli Performance Monitoring rejestruje zdarzenia, ale po 24 godzinach nie wyświetla się żadna informacja, skontaktuj się z zespołem pomocy Firebase.
Panel wyników nie ma danych żądań sieciowych
Jeśli brakuje Ci danych o żądaniu sieciowym, wykonaj te czynności:
W przypadku aplikacji na Androida wtyczka do obsługi Gradle w języku Performance Monitoring umożliwia instrumentację, która która umożliwia automatyczne monitorowanie Żądania sieciowe HTTP/S. Sprawdź te kwestie:
Upewnij się, że dodał . W szczególności sprawdź następujące kwestie:
- Dodano wtyczkę (
) w plikuapply plugin: 'com.google.firebase.firebase-perf' build.gradle
modułu (na poziomie aplikacji). - Uwzględniono zależność ścieżki klasy dla wtyczki
(
) w plikuclasspath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
na poziomie projektu.
- Dodano wtyczkę (
Upewnij się, że wtyczka nie jest wyłączone za pomocą żadnego z tych flagi:
instrumentationEnabled
w Twoim module (na poziomie aplikacji)build.gradle
plikfirebasePerformanceInstrumentationEnabled
w:gradle.properties
plik
Sprawdź, czy biblioteka sieciowa jest zgodna. Performance Monitoring automatycznie zbiera dane o żądaniach sieciowych, które korzystają z tych sieci biblioteki: OkHttp 3.x.x, Java URLConnection i Apache HttpClient.
Pamiętaj, że możesz dodać monitorowanie niestandardowe sieci .
Pamiętaj:
W zależności od zachowania kodu i bibliotek sieciowych używanych przez kod Performance Monitoring może raportować tylko żądania sieciowe, które zostały wykonane. Oznacza to, że otwarte połączenia HTTP/S mogą nie mogą zostać zgłoszone.
Urządzenie Performance Monitoring nie jest zgodne z urządzeniami DexGuard i Jacek.
- DexGuard wyłącza monitorowanie żądań sieciowych HTTP/S.
- Interfejs Jack został wycofany i zasadniczo nie należy używać w aplikacji.
Performance Monitoring nie raportuje nieprawidłowych żądań sieciowych Nagłówki
Content-Type
. Żądania sieciowe bezContent-Type
nagłówki będą nadal akceptowane.
Dane żądań sieciowych nie są agregowane zgodnie z oczekiwaniami
Dowiedz się więcej o tym, jak Performance Monitoring agreguje żądania sieciowe w sekcji wzorców adresów URL.
Możesz też wypróbować niestandardowy URL .
Najczęstsze pytania
Co się stało z Najważniejsze problemy na karcie Skuteczność na stronie głównej Projektu?
Zastąpiliśmy sekcję Najważniejsze problemy najnowszymi alertami w ramach naszej Niedawno wprowadziliśmy alerty, które automatycznie powiadamiają Cię, gdy przekraczanie ustalonych progów. Problemy są teraz wycofywane i zastępowane przez alerty.
Alert u góry karty Skuteczność filtruje selektor aplikacji wpisów w sekcji Najnowsze alerty. Tylko trzy najnowsze alerty dotyczące witryny zobaczysz wybrane aplikacje.
Więcej informacji o alertach: Skonfiguruj alerty o problemach z wydajnością
Co się stało z możliwością ustawiania progów dla problemów w konsoli?
Performance Monitoring obsługuje alerty dotyczące wskaźników przekraczających określonych progów. Aby uniknąć nieporozumień z tymi konfigurowalnymi progami dla danych o skuteczności, usunęliśmy możliwość konfigurowania progów dla problemy.
Co się stało z informacjami Szczegóły i Dane w konsoli Firebase?
Zastąpiliśmy strony Szczegóły i Dane interfejsu użytkownika (UI), aby usprawnić rozwiązywanie problemów. Ten nowy interfejsu rozwiązywania problemów ma te same główne funkcje, co Szczegóły i Oferowane wskaźniki. Więcej informacji o rozwiązywaniu problemów znajdziesz w artykule Wyświetlanie dodatkowych danych dotyczących konkretnego śledzenia.
Dlaczego liczba próbek jest niezgodna z oczekiwaniami?
Aplikacja Performance Monitoring zbiera dane o skuteczności z urządzeń użytkowników Twojej aplikacji. Jeśli aplikacja ma wielu użytkowników lub generuje dużą wydajność, aktywności, Performance Monitoring może ograniczyć zbieranie danych do podzbioru urządzeń, aby zmniejsza liczbę przetworzonych zdarzeń. Limity te są na tyle wysokie, że Nawet przy mniejszej liczbie zdarzeń wartości danych są reprezentatywne do wygody użytkownika.
Aby zarządzać ilością gromadzonych danych, Performance Monitoring używa tych opcje próbkowania:
Ograniczenie szybkości na urządzeniu: aby zapobiec nagłem wysyłaniu przez urządzenie dużej liczby ścieżek, ograniczamy liczbę ścieżek kodu i żądań sieci wysyłanych z urządzenia do 300 zdarzeń na 10 minut. Ta metoda chroni urządzenie przed zapętlone instrumenty, które mogą wysyłać duże ilości danych dotyczących wydajności, zapobiega zaburzaniu pomiarów wydajności przez pojedyncze urządzenie.
Próbkowanie dynamiczne: Performance Monitoring zbieranie danych z ograniczeniem do około 100 mln wydarzeń dla śladów kodu i 100 mln śladów żądań sieciowych dziennie w przypadku wszystkich użytkowników aplikacji. Częstotliwość próbkowania dynamicznego jest pobierana z urządzeń (przy użyciu funkcji Firebase Remote Config), aby określić, czy urządzenie losowe powinno przechwytywać i wysyłać ślady. Urządzenie, które nie zostało wybrane do próbkowania, nie wysyłanie zdarzeń. Częstotliwość próbkowania dynamicznego zależy od aplikacji i dostosowuje się aby ogólna ilość zgromadzonych danych nie przekraczała limitu.
Sesje użytkownika wysyłają dodatkowe, szczegółowe dane z urządzenia użytkownika, co wymaga więcej zasobów do rejestrowania i wysyłania danych. Aby zminimalizować wpływ użytkowników sesji, Performance Monitoring może również ograniczać liczbę sesji.
Ograniczenie szybkości po stronie serwera: aby mieć pewność, że aplikacje nie przekroczą próbkowania. limit, Performance Monitoring może używać próbkowania po stronie serwera, aby pominąć niektóre zdarzenia otrzymanych z urządzeń. Chociaż ten typ ograniczenia nie zmienia na skuteczność naszych wskaźników, może to spowodować niewielkie zmiany wzorców, w tym :
- Liczba śladów może się różnić od tego, ile razy jeden gdy wykonano kod.
- Ślady, które są ściśle sprzężone w kodzie, mogą zawierać różną liczbę przykłady.
Co się stało z kartą Problemy w konsoli?
Zastąpiliśmy kartę Problemy funkcją Alerty, automatycznie powiadamia Cię o przekroczeniu ustawionych progów. Ty nie muszą już ręcznie sprawdzić konsolę Firebase, aby określić stan odpowiedni próg. Więcej informacji o Alertach Google znajdziesz w artykule Konfigurowanie alertów dotyczących problemów z wydajnością.
Co się stało z kartami Na urządzeniu i Sieć w konsoli? Jak wyświetlić ślady, które były na tych stronach?
Zmodyfikowaliśmy sekcję Performance Monitoring w konsoli Firebase, aby Na karcie Panel znajdują się najważniejsze dane i wszystkie logi czasu. Jako Usunęliśmy też strony Na urządzeniu i Sieć.
Tabela logów czasu na dole karty Dashboard (Panel) zawiera takie same informacje widoczne na kartach Na urządzeniu i Sieć, ale niektóre Dodaliśmy funkcje, w tym możliwość sortowania logów czasu dla konkretnego wskaźnika. Aby wyświetlić wszystkie dane związane z określonym hasłem logu czasu, kliknij nazwę logu czasu w tabeli logów czasu.
Logi możesz wyświetlić na tych podkartach w tabeli logów czasu:
- Logi czasu żądań sieciowych (zarówno gotowe, jak i niestandardowe) – podkarta Żądania sieciowe
- Niestandardowe logi czasu – podkarta Niestandardowe logi czasu
- Ścieżki uruchamiania aplikacji, ścieżki aplikacji na pierwszym planie i ścieżki aplikacji działającej w tle – podkarta Ścieżki niestandardowe
- Ślady renderowania ekranu – podkarta Renderowanie ekranu
- Ślady wczytywania strony – podkarta Wczytanie strony
Szczegółowe informacje o tabeli logów czasu oraz wyświetlaniu wskaźników i danych znajdziesz w strona przeglądu konsoli (iOS+ | Android | Sieć).
Dlaczego liczba spowolnionych i zablokowanych klatek jest niezgodna z oczekiwaniami?
Czasy renderowania spowolnionych i zablokowanych klatek są obliczane przy założeniu częstotliwości odświeżania urządzenia 60 Hz. Jeśli częstotliwość odświeżania urządzenia jest niższa niż 60 Hz, każda klatka będzie mieć wolniejszy czas renderowania, ponieważ renderowanych jest mniej klatek na sekundę. Dłuższe renderowanie może spowodować, że raportowanych będzie więcej spowolnionych lub zablokowanych klatek ponieważ więcej klatek będzie renderowany wolniej lub zostanie zablokowany. Jeśli jednak częstotliwość odświeżania urządzenia jest wyższa niż 60 Hz, czas renderowania każdej klatki będzie krótszy. Może to spowodować uwzględnianie w raportach mniejszej liczby spowolnionych lub zablokowanych klatek. To jest bieżąca w pakiecie SDK Performance Monitoring.
Dlaczego nie widzę zrzutów fragmentów?
Aby oprócz aktywności w aplikacji zobaczyć skuteczność fragmentów, upewnij się, Twoja aplikacja korzysta z pakietu SDK na Androida Performance Monitoring w wersji 20.1.0 lub nowszej. Aby się uczyć Więcej informacji znajdziesz w artykule Dodawanie monitorowania wydajności do aplikacji.
Jak sprawdzić, które ślady są powiązane z fragmentami i działaniami?
Każdy fragment i ślad aktywności opierają się na nazwie klasy zgodnie z definicją w Twojej aplikacji. Każdy zrzut ekranu zawiera prefiks st po którym następuje nazwa zajęć. W konsoli Firebase prefiks to usunięto. Więcej informacji znajdziesz w artykule na temat danych o wydajności renderowania ekranu (aplikacje Apple i na Androida) .
Dlaczego widzę mniej śladów fragmentów niż innych śladów?
Performance Monitoring przeprowadza próbkowanie wszystkich zdarzeń zebranych na urządzeniu. Takie podejście pozwala nam rejestrować minimalną liczbę zdarzeń z urządzeń użytkowników aby dostarczać dane o skuteczności.
Jak otrzymam powiadomienie o problemie z wydajnością renderowania aplikacji?
Performance Monitoring pozwala konfigurować alerty dotyczące interesujących Cię wskaźników. Dla wygenerowanych śledzenia renderowania ekranu, możesz skonfigurować alerty, które będą powiadamiać Cię, gdy odsetek spowolnionych i zablokowanych klatek przekracza ustawiony próg.
Moje czasy kompilacji są długie po włączeniu wtyczki Gradle Performance Monitoring. Jak Czy mogę to poprawić?
Aplikacja Performance Monitoring na Androida korzysta z instrumentacji kodu bajtowego, aby gotowe funkcje, takie jak monitorowanie żądań sieciowych HTTP/S. Ten proces stanowi część kompilacji i wymaga iteracji we wszystkich klasach. (w tym zależności) w celu dostosowania kodu, który ma kluczowe znaczenie mierzyć wydajność żądań sieciowych aplikacji.
Oto kilka kluczowych czynników wpływających na wydłużenie czasu kompilacji:
- liczbę zajęć lub plików;
- Rozmiar każdej z tych klas (wiersze kodu)
- Konfiguracja maszyny
- Kompilacja wstępna i następna (kolejne kompilacje są zwykle szybciej niż początkowa kompilacja)
Aby zoptymalizować czas kompilacji, weź pod uwagę modularyzacji kodu.
Od 1.3.3 skupiliśmy się na optymalizacjiPerformance Monitoring ulepszenia w przyrostowym przetwarzaniu kompilacji i buforowaniu danych wejściowych biblioteki. Aby uzyskać najnowsze ulepszenia czasu kompilacji, użyj najnowsza wersja wtyczka (wersja 1.4.2).
Pamiętaj, że możesz wyłączyć Wtyczka Performance Monitoring dla kompilacji do debugowania lokalnie, jeśli chcesz uniknąć długich czasów kompilacji. Pamiętaj jednak: to podejście nie jest zalecane w przypadku kompilacji produkcyjnych, ponieważ może spowodować braki w pomiarach wydajności dla żądań sieciowych w aplikacji.
Co zrobić, jeśli z powodu niekompatybilnych bibliotek z wtyczką Gradle Performance Monitoring pojawią się błędy kompilacji?
Aplikacja Performance Monitoring na Androida korzysta z instrumentacji kodu bajtowego, aby gotowe funkcje, takie jak monitorowanie żądań sieciowych HTTP/S. W ramach kompilacji proces wymaga iteracji przez wszystkie klasy aplikacji (w tym zależności) w celu instrumentowania kodu, który jest kluczowy dla pomiaru wydajności żądań sieciowych aplikacji.
Jeśli po integracji z wtyczką Performance Monitoring wystąpią błędy kompilacji, takie jak JSR/RET are not supported with
computeFrames option
, lub podobne,
przyczyną może być również zależność od niezgodnej biblioteki.
z wtyczką do obsługi Gradle Performance Monitoring.
Aby temu zapobiec, możesz wykluczyć z instrumentacji klasy lub biblioteki, które nie są zgodne. Aby to zrobić:
- Zaktualizuj wtyczkę Gradle Performance Monitoring do najnowszej wersji (minimum 1.4.0).
- Zaktualizuj wtyczkę Androida do obsługi Gradle do wersji 7.2.0 lub nowszej.
- Aby wykluczyć z instrumentacji niezgodne klasy i biblioteki, dodaj do pliku
build.gradle
modułu (na poziomie aplikacji) tę flagę: Więcej informacji o właściwościandroid { // ... androidComponents { onVariants(selector().all(), { instrumentation.excludes.add("example.incompatible.library") }) } }
exclude
interfejsu APIInstrumentation
wtyczki Androida do obsługi Gradle znajdziesz w sekcji Instrumentacja.
Zgłoś problem w serwisie GitHub o błędach kompilacji spowodowanych niezgodnymi bibliotekami. Dzięki temu mogą one również być wykluczone z instrumentowania we wtyczce Performance Monitoring.
Dane Performance Monitoring są eksportowane do BigQuery dłużej niż oczekiwano. Czy nie jest to w czasie rzeczywistym?
Jeśli masz włączoną integrację BigQuery w Firebase Performance Monitoring, Twoje dane będą eksportowane do BigQuery w ciągu 12–24 godzin od zakończenia dnia (czasu pacyficznego).
Na przykład dane z 19 kwietnia będą dostępne w BigQuery 20 kwietnia. między 12:00 a północą (wszystkie daty i godziny są podane w czasie pacyficznym).
Przetwarzanie i wyświetlanie danych w czasie zbliżonym do rzeczywistego
Co oznacza „czas zbliżony do rzeczywistego” i wydajności?
Firebase Performance Monitoring przetwarza zebrane dane o skuteczności na bieżąco, co powoduje wyświetlenie danych w czasie zbliżonym do rzeczywistego w konsoli Firebase. Przetworzono pojawia się w konsoli w ciągu kilku minut od ich zebrania, dlatego w czasie zbliżonym do rzeczywistego.
Aby korzystać z przetwarzania danych w czasie zbliżonym do rzeczywistego, upewnij się, że aplikacja używa pakiet SDK kompatybilny z reklamami w czasie rzeczywistym wersji.
Jak uzyskać dane o działaniu aplikacji aktualizowane w czasie zbliżonym do rzeczywistego?
Aby korzystać z przetwarzania danych w czasie zbliżonym do rzeczywistego, wystarczy upewnić się, aplikacja korzysta z pakietu SDK w wersji Performance Monitoring, która jest zgodna z pakietem SDK w czasie rzeczywistym przetwarzania danych.
Oto wersje pakietu SDK zgodnego w czasie rzeczywistym:
- iOS – wersja 7.3.0 lub nowsza
- tvOS – wersja 8.9.0 lub nowsza
- Android – wersja 19.0.10 lub nowsza (albo Firebase Android BoM w wersji 26.1.0 lub nowszej)
- Internet – wersja 7.14.0 lub nowsza
Zalecamy korzystanie z najnowszej wersji SDK, ale wymieniona powyżej wersja umożliwi usłudze Performance Monitoring przetwarzanie Twoich danych niemal w rzeczywistości obecnie się znajdujesz.
Które wersje pakietu SDK Performance Monitoring są uznawane za kompatybilne z czasem rzeczywistym?
Te wersje pakietu SDK są zgodne z przetwarzaniem danych w czasie rzeczywistym:
- iOS – wersja 7.3.0 lub nowsza.
- tvOS – wersja 8.9.0 lub nowsza
- Android – wersja 19.0.10 lub nowsza (albo Firebase Android BoM w wersji 26.1.0 lub nowszej)
- Internet – wersja 7.14.0 lub nowsza
Zalecamy korzystanie z najnowszej wersji SDK, ale wymieniona powyżej wersja umożliwi usłudze Performance Monitoring przetwarzanie Twoich danych niemal w rzeczywistości obecnie się znajdujesz.
Co się stanie, jeśli nie zaktualizuję aplikacji, aby korzystała z wersji pakietu SDK zgodnej z danymi w czasie rzeczywistym?
Jeśli Twoja aplikacja nie korzysta z wersji pakietu SDK zgodnej z czasem rzeczywistym, nadal będziesz mieć w konsoli Firebase widoczne wszystkie dane o jej działaniu. Ekran dane dotyczące skuteczności będą opóźnione o około 36 godzin od momentu ich kolekcji.
Mam zaktualizowany pakiet SDK do wersji zgodnej w czasie rzeczywistym, ale niektórzy użytkownicy nadal w starszych wersjach aplikacji. Czy nadal będę widzieć ich wyniki w konsoli Firebase?
Tak. Niezależnie od tego, której wersji pakietu SDK używa instancja aplikacji, dane o skuteczności od wszystkich użytkowników.
Jeśli jednak wyświetlane są najnowsze dane (starsze mniej więcej niż 36 godzin), wyświetlane dane pochodzą od użytkowników instancji aplikacji korzystających z kompatybilnej z czasem rzeczywistym wersji pakietu SDK. Niedawne dane obejmują jednak dane o skuteczności ze wszystkich wersji aplikacji.
Kontakt z zespołem pomocy Firebase
Jeśli kontaktujesz się z zespołem pomocy Firebase, zawsze podaj identyfikator aplikacji Firebase. Znajdź swój identyfikator aplikacji Firebase w Karta Twoje aplikacje na settings Projekt