Rozwiązywanie problemów z monitorowaniem wydajności i najczęstsze pytania
Na tej stronie znajdziesz wskazówki dotyczące rozwiązywania problemów, które pomogą Ci rozpocząć korzystanie z Monitorowania wydajności,
za pomocą funkcji i narzędzi
Monitorowania wydajności.
Pierwsze kroki w celu rozwiązania problemów
Te 2 testy to ogólne sprawdzone metody zalecane dla każdego
przed dalszym rozwiązywaniem problemów.
1. Sprawdzanie komunikatów logu pod kątem zdarzeń dotyczących wydajnoś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 w następujący sposób:
W Xcode (minimalna wersja 14.1) wybierz Product >
Schemat > Edytuj schemat.
W menu po lewej stronie kliknij Uruchom i wybierz kartę Argumenty.
W sekcji Arguments Passed at Launch (Argumenty przekazane przy uruchomieniu) dodaj parametr -FIRDebugEnabled.
Sprawdź, czy w komunikatach logu nie ma żadnych komunikatów o błędach.
Monitorowanie wydajności dodaje do komunikatów logu tag Firebase/Performance, dzięki czemu możesz
może filtrować komunikaty dziennika.
Sprawdź następujące typy logów, które wskazują, że Monitorowanie wydajności jest
rejestrowanie zdarzeń wydajności:
Zajrzyj do
Panelu stanu Firebase w przypadku
wystąpiła przerwa w działaniu Firebase lub Monitorowania wydajności.
Wprowadzenie do Monitorowania wydajności
Jeśli rozpoczynasz korzystanie z Monitorowania wydajności
(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).
Zwykle 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 najnowszej wersji pakietu SDK do usługi minęło więcej niż 10 minut
w aplikacji i nadal nie widzisz żadnych zmian, sprawdź dziennik
, aby upewnić się, że Monitorowanie wydajności rejestruje
zdarzeń. Wypróbuj odpowiednie rozwiązania opisane poniżej, aby
rozwiązywanie problemów z komunikatem wykrywania opóźnionego pakietu SDK.
Aplikacja rejestruje zdarzenia: rozwiązywanie problemów
Jeśli nadal tworzysz aplikacje lokalnie, spróbuj wygenerować więcej zdarzeń dla danych
kolekcja:
Kontynuuj tworzenie aplikacji za pomocą symulatora lub urządzenia testowego.
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-Service-Info.plist) to
został prawidłowo dodany do aplikacji i czy plik nie został zmodyfikowany.
W szczególności sprawdź następujące kwestie:
Nazwa pliku konfiguracyjnego nie zawiera dodatkowych znaków, takich jak
(2)
Plik konfiguracyjny znajduje się w katalogu głównym projektu XCode i jest dodany do
w prawidłowym zakresie.
Identyfikator aplikacji Apple App ID (GOOGLE_APP_ID) wymieniony w pliku konfiguracyjnym to
do Twojej aplikacji. Swój identyfikator aplikacji Firebase znajdziesz na karcie Twoje aplikacje.
Twojego settingsprojektu
.
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.
Aby pobrać aplikację, postępuj zgodnie z tymi instrukcjami
utworzyć nowy plik konfiguracyjny i dodać go do aplikacji Apple.
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 2 godzinach), skontaktuj się z zespołem pomocy Firebase.
Aplikacja nie rejestruje zdarzeń:
instrukcje rozwiązywania problemów
Konsola informuje, że pakiet SDK
został wykryty, ale nie wyświetlają się żadne dane
Monitorowanie wydajności przetwarza dane zdarzeń skuteczności przed ich wyświetleniem 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 masz już w aplikacji dodany pakiet SDK i korzystasz z monitorowania wydajności,
podane niżej wskazówki mogą pomóc w rozwiązaniu ogólnych problemów,
Funkcje i narzędzia do monitorowania wydajności.
Aplikacja nie zapisuje danych
wydarzenia związane z występami
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 SDK platform Apple
(wersja 10.29.0). Ślady renderowania ekranu są dostępne tylko
w wersji 5.0.0 lub nowszej.
Monitorowanie wydajności nie tworzy logów czasu renderowania ekranu dla widoku kontenera
kontrolery (takie jak UINavigationController i UITabBarController). Jeśli
brakuje danych tylko dla tych ekranów, jest to prawidłowy proces.
Panel wyników to
brak niestandardowych danych logu czasu
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:
Sprawdź konfigurację niestandardowych logów czasu kodu instrumentowanych za pomocą
Trace API,
zwłaszcza te aspekty:
Nazwy niestandardowych logów czasu kodu i wskaźników niestandardowych muszą spełniać te wymagania
wymagania: brak odstępu na początku i na końcu, bez podkreślenia na początku
(_) znaków, a maksymalna długość to 32 znaki.
Wszystkie logi czasu muszą być uruchomione i zatrzymane. Każdy ślad, który nie został uruchomiony,
Zatrzymane lub zatrzymane przed rozpoczęciem nie będą rejestrowane.
Sprawdź komunikaty dziennika i upewnij się, że
Monitorowanie wydajności rejestruje oczekiwane ślady kodu niestandardowego.
W zależności od działania Twojego kodu i bibliotek sieciowych używanych przez
Monitorowanie wydajności może generować tylko raporty dotyczące żądań sieciowych, które są
. Oznacza to, że otwarte połączenia HTTP/S mogą nie
mogą zostać zgłoszone.
Monitorowanie wydajności nie raportuje żądań sieciowych z nieprawidłowymi
Nagłówki Content-Type. Żądania sieciowe bez
Content-Type nagłówki będą nadal akceptowane.
Dane żądań sieciowych nie agregują się w oczekiwany sposób
Co się stało z Najważniejsze problemy na karcie Skuteczność na stronie głównej Projektu?
Zastąpiliśmy sekcję Najważniejsze problemynajnowszymi alertami w ramach naszej
Niedawno wprowadziliśmy alerty, które automatycznie powiadamiają Cię, gdy
przekraczanie ustalonych progów. Problemy zostały wycofane
i zastąpione alertami.
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.
Co się stało z możliwością ustawiania progów dla problemów w konsoli?
Monitorowanie wydajności obsługuje alerty dla 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 o szczegółach i danych 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:
Wyświetl więcej danych dla konkretnego logu czasu.
Dlaczego liczba próbek jest niezgodna z oczekiwaniami?
Monitorowanie wydajności zbiera dane o wydajności z urządzeń użytkowników Twojej aplikacji. Jeśli
aplikacja ma wielu użytkowników lub generuje dużą wydajność,
Monitorowanie wydajności może ograniczyć gromadzenie danych do podzbioru urządzeń,
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, Monitorowanie wydajności korzysta z następujących funkcji:
opcje próbkowania:
Ograniczenie szybkości na urządzeniu: aby zapobiec wysyłaniu przez urządzenie nagłych wybuchów
ograniczamy liczbę logów czasu oraz żądań sieciowych wysyłanych z
do 300 zdarzeń co 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: Monitorowanie wydajności rejestruje limit wynoszący ok. 100 mln
zdarzeń w przypadku logów czasu kodu i 100 MB w przypadku logów czasu żądań sieciowych na aplikację dziennie
na wszystkich użytkowników aplikacji. Częstotliwość próbkowania dynamicznego jest pobierana z urządzeń (przy użyciu funkcji
Zdalna konfiguracja Firebase), aby określić, czy przypadkowe urządzenie 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
Monitorowanie wydajności może również ograniczać liczbę sesji.
Ograniczenie szybkości po stronie serwera: aby mieć pewność, że aplikacje nie przekroczą próbkowania.
Monitorowanie wydajności może wykorzystać próbkowanie 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
nie muszą już ręcznie sprawdzać w konsoli Firebase stanu
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ę Monitorowanie wydajności w konsoli Firebase,
Karta Panel zawiera w jednym miejscu 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
Uruchamianie aplikacji, śledzenie aplikacji na pierwszym planie i śledzenie aplikacji w tle – podkarta Niestandardowe logi czasu
Ś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?
Klatki renderowane w powolnym renderowaniu i zablokowane są obliczane na założonym urządzeniu
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 urządzenie
częstotliwość odświeżania jest większa niż 60 Hz, więc każda klatka renderuje się szybciej.
Może to spowodować uwzględnianie w raportach mniejszej liczby spowolnionych lub zablokowanych klatek. To jest bieżąca
w pakiecie SDK Performance Monitoring.
Eksportowanie danych z Monitorowania wydajności trwa dłużej niż oczekiwano
BigQuery; Czy to nie czas rzeczywisty?
Jeśli masz włączoną integrację BigQuery z Monitorowaniem wydajności Firebase, Twoje dane
zostanie wyeksportowana do BigQuery w ciągu 12–24 godzin po zakończeniu dnia (czas pacyficzny
czas).
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?
Monitorowanie wydajności Firebase przetwarza gromadzone dane o skuteczności na bieżąco, które
pozwala wyświetlić dane 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.
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 Performance Monitoring w wersji zgodnej z
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
wymienionych powyżej wersji umożliwi Monitorowi wydajności
przetwarzanie danych niemal w rzeczywistości
obecnie się znajdujesz.
Które wersje pakietu SDK Performance Monitoring są uznawane za zgodne w czasie 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
wymienionych powyżej wersji umożliwi Monitorowi wydajności
przetwarzanie 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 zobaczysz
wszystkie dane o wydajności aplikacji w konsoli Firebase. 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 przeglądasz najnowsze dane (sprzed mniej niż 36 godzin),
wyświetlane dane pochodzą od użytkowników instancji aplikacji w czasie rzeczywistym,
zgodnej wersji pakietu SDK. Niedawne dane obejmują jednak dane o skuteczności
ze wszystkich wersji aplikacji.