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 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 w następujący sposób:
W Xcode (wersja co najmniej 15.2) wybierz Produkt >
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 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 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
Jeśli nadal tworzysz aplikacje lokalnie, spróbuj wygenerować więcej zdarzeń dla danych
kolekcja:
kontynuować 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. 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:
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:
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. Nie rejestruje się żadnych ścieżek, które nie zostały uruchomione, zatrzymane lub zatrzymane przed rozpoczęciem.
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 żądań sieci z nieprawidłowymi nagłówkami Content-Type. Żądania sieciowe bez
Content-Type nagłówki będą nadal akceptowane.
Dane żądań sieciowych nie są agregowane zgodnie z oczekiwaniami
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 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.
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.
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.
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.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2024-09-12 UTC."],[],[]]