Rozwiązywanie problemów z monitorowaniem wydajności i najczęstsze pytania
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
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 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 15.2) wybierz Product >
Schemat > Edytuj schemat.
W menu po lewej stronie kliknij Uruchom, a następnie 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.
Performance Monitoring oznacza swoje komunikaty logu tagiem Firebase/Performance, dzięki czemu
może filtrować komunikaty dziennika.
Sprawdź następujące typy logów, które wskazują, że Performance Monitoring to
rejestrowanie zdarzeń wydajności:
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 najnowszej wersji pakietu SDK do usługi minęło więcej niż 10 minut
w aplikacji i nadal nie widzisz żadnych zmian, sprawdź dziennik
wiadomości, aby upewnić się, że Performance Monitoring 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
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 brakuje danych do śledzenia renderowania ekranu, wypróbuj te rozwiązania
jak rozwiązać problem:
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
Performance Monitoring rejestruje oczekiwane ślady niestandardowego kodu.
W zależności od działania Twojego kodu i bibliotek sieciowych używanych przez
Twojego kodu, Performance Monitoring może generować raporty tylko o żądaniach sieci, które są
. Oznacza to, że otwarte połączenia HTTP/S mogą nie
mogą zostać zgłoszone.
Performance Monitoring nie raportuje nieprawidłowych żądań sieciowych
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?
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 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?
Performance Monitoring 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ść,
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 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: Performance Monitoring zbiera limit około 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
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
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 Performance Monitoring trwa dłużej niż oczekiwano.
BigQuery; Czy to nie czas rzeczywisty?
Jeśli masz włączoną integrację BigQuery w Firebase Performance Monitoring, 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” średnie dane o skuteczności kampanii?
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.
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 zgodne z pakietem SDK 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ą uważane 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
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 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.