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.
Ta strona zawiera wskazówki dotyczące rozwiązywania problemów z rozpoczęciem korzystania z Performance Monitoring lub używaniem funkcji i narzędzi Performance Monitoring.
Pierwsze kroki rozwiązywania problemów
Przed rozpoczęciem dalszego rozwiązywania problemów zalecamy wykonanie tych 2 ogólnych czynności.
1. Sprawdzanie komunikatów logu pod kątem zdarzeń związanych z wydajnością
Sprawdź komunikaty logu, aby upewnić się, że pakiet SDK Performance Monitoring rejestruje zdarzenia związane z wydajnością.
Jak wyświetlać komunikaty logu dotyczące zdarzeń związanych z wydajnością
Włącz logowanie debugowania w ten sposób:
W Xcode (w wersji co najmniej 26.2) kliknij Product (Produkt) > Scheme (Schemat) > Edit scheme (Edytuj schemat).
W menu po lewej stronie kliknij Run (Uruchom), a następnie wybierz kartę Arguments (Argumenty).
W sekcji Arguments Passed on Launch (Argumenty przekazywane przy uruchamianiu) dodaj -FIRDebugEnabled.
Sprawdź, czy w komunikatach logu nie ma komunikatów o błędach.
Performance Monitoring oznacza komunikaty logu tagiem Firebase/Performance, aby można było je filtrować.
Sprawdź, czy występują te typy logów, które wskazują, że Performance Monitoring rejestruje zdarzenia związane z wydajnością:
Sprawdź w Panelu stanu Firebase, czy nie wystąpiła znana przerwa w działaniu Firebase lub Performance Monitoring.
Pierwsze kroki z Performance Monitoring
Jeśli dopiero zaczynasz korzystać z Performance Monitoring (iOS+ | Android | Web), te wskazówki dotyczące rozwiązywania problemów mogą pomóc w rozwiązaniu problemów związanych z wykrywaniem pakietu SDK przez Firebase lub wyświetlaniem pierwszych danych o skuteczności w konsoli Firebase.
Pakiet SDK do wyświetlania reklam został dodany do aplikacji, ale w konsoli nadal wyświetla się komunikat o konieczności dodania pakietu SDK do wyświetlania reklam
Firebase może wykryć, czy pakiet SDK Performance Monitoring został pomyślnie dodany do aplikacji, gdy otrzyma z niej informacje o zdarzeniach (np. interakcjach z aplikacją).
Zwykle w ciągu 10 minut od uruchomienia aplikacji w panelu wydajności konsoli Firebase pojawi się komunikat „Wykryto pakiet SDK”. Następnie w ciągu 30 minut na panelu pojawią się pierwsze przetworzone dane.
Jeśli od dodania najnowszej wersji pakietu SDK do aplikacji minęło więcej niż 10 minut i nadal nie widzisz żadnych zmian, sprawdź komunikaty logu, aby upewnić się, że Performance Monitoring rejestruje zdarzenia. Aby rozwiązać problem z opóźnionym komunikatem o wykryciu pakietu SDK, wykonaj odpowiednie czynności opisane poniżej.
Aplikacja rejestruje zdarzenia: czynności związane z rozwiązywaniem problemów
Jeśli nadal pracujesz lokalnie, spróbuj wygenerować więcej zdarzeń na potrzeby zbierania danych:
Kontynuuj tworzenie aplikacji, używając symulatora lub urządzenia testowego.
Wygeneruj zdarzenia, kilkakrotnie przełączając aplikację między tłem a pierwszym planem, wchodząc z nią w interakcje przez przechodzenie między ekranami lub wywołując żądania sieciowe.
Upewnij się, że plik konfiguracji Firebase (Google-Service-Info.plist) został prawidłowo dodany do aplikacji i nie został zmodyfikowany.
Sprawdź te elementy:
Nazwa pliku konfiguracyjnego nie zawiera dodatkowych znaków, np. (2).
Plik konfiguracji znajduje się w katalogu głównym projektu XCode i jest dodany do odpowiednich elementów docelowych.
Identyfikator aplikacji Firebase na urządzenia Apple (GOOGLE_APP_ID) podany w pliku konfiguracyjnym jest prawidłowy dla Twojej aplikacji. Identyfikator aplikacji w Firebase znajdziesz na karcie Twoje aplikacje w settingsustawieniach projektu.
Jeśli coś wydaje się nie tak z plikiem konfiguracji w aplikacji, spróbuj wykonać te czynności:
Usuń plik konfiguracyjny, który obecnie znajduje się w aplikacji.
Wykonaj te instrukcje, aby pobrać nowy plik konfiguracyjny i dodać go do aplikacji Apple.
Jeśli pakiet SDK rejestruje zdarzenia i wszystko wydaje się być skonfigurowane prawidłowo, ale nadal nie widzisz komunikatu o wykryciu 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 zdarzeń dotyczących wydajności, zanim wyświetli je w panelu wydajności.
Jeśli od wyświetlenia komunikatu „Wykryto pakiet SDK” minęło ponad 24 godziny, a dane nadal nie są widoczne, sprawdź panel stanu Firebase, aby dowiedzieć się, czy nie wystąpiła znana przerwa w działaniu. Jeśli nie ma przerwy w działaniu, skontaktuj się z zespołem pomocy Firebase.
Rozwiązywanie problemów ogólnych
Jeśli udało Ci się dodać pakiet SDK i używasz Performance Monitoring w aplikacji, te wskazówki dotyczące rozwiązywania problemów mogą pomóc w rozwiązaniu ogólnych problemów związanych z funkcjami i narzędziami Performance Monitoring.
Aplikacja nie rejestruje zdarzeń związanych z wydajnością
W panelu wydajności brakuje danych śledzenia ekranu
Jeśli brakuje danych dotyczących śladów renderowania ekranu, wypróbuj następujące kroki rozwiązywania problemów:
W panelu wydajności brakuje niestandardowych danych śledzenia
Czy widzisz dane o skuteczności dotyczące automatycznie zbieranych logów czasu, ale nie logów czasu niestandardowego kodu? Wykonaj następujące czynności rozwiązywania problemów:
Sprawdź konfigurację niestandardowych śladów kodu instrumentowanych za pomocą interfejsu Trace API, a w szczególności:
Nazwy niestandardowych śladów kodu i wskaźników 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 (_) i mogą mieć maksymalnie 32 znaki.
Wszystkie logi czasu muszą zostać uruchomione i zatrzymane. Ślady, które nie zostały uruchomione, zatrzymane lub zatrzymane przed uruchomieniem, nie będą rejestrowane.
Sprawdź komunikaty logu, aby upewnić się, że Performance Monitoring rejestruje oczekiwane ślady niestandardowego kodu.
W zależności od zachowania kodu i używanych przez niego bibliotek sieciowych Performance Monitoring może raportować tylko o ukończonych żądaniach sieciowych. Oznacza to, że połączenia HTTP/S, które pozostają otwarte, mogą nie być zgłaszane.
Performance Monitoring nie raportuje żądań sieciowych z nieprawidłowymi nagłówkami Content-Type. Żądania sieciowe bez nagłówków Content-Type będą jednak nadal akceptowane.
Dane żądań sieciowych nie są agregowane zgodnie z oczekiwaniami
Co się stało z sekcją Najważniejsze problemy na karcie Wydajność na stronie głównej projektu?
Zastąpiliśmy Najważniejsze problemyOstatnimi alertami, ponieważ niedawno wprowadziliśmy alerty, które automatycznie powiadamiają Cię o przekroczeniu ustawionych progów. Problemy zostały wycofane i zastąpione alertami.
Selektor aplikacji u góry karty Skuteczność filtruje wpisy alertów w sekcji Ostatnie alerty. Wyświetlane są tylko 3 najnowsze alerty dotyczące wybranych aplikacji.
Co się stało z możliwością ustawiania progów dla problemów w konsoli?
Performance Monitoring obsługuje alerty dotyczące danych, które przekraczają określone progi. Aby uniknąć nieporozumień związanych z tymi konfigurowalnymi progami wskaźników skuteczności, usunęliśmy możliwość konfigurowania progów dla problemów.
Co się stało z informacjami w sekcjach Szczegóły i Dane w konsoli Firebase?
Zastąpiliśmy strony Szczegóły i Dane nowym, scentralizowanym interfejsem, aby ułatwić rozwiązywanie problemów. Ten nowy interfejs rozwiązywania problemów oferuje tę samą główną funkcjonalność, która była dostępna w sekcjach Szczegóły i Dane. Więcej informacji o rozwiązywaniu problemów znajdziesz w artykule Wyświetlanie dodatkowych danych dotyczących konkretnego logu czasu oczekiwania.
Dlaczego liczba próbek nie jest taka, jakiej oczekuję?
Performance Monitoring zbiera dane o skuteczności z urządzeń użytkowników aplikacji. Jeśli aplikacja ma wielu użytkowników lub generuje dużą aktywność związaną z wydajnością, Performance Monitoring może ograniczyć zbieranie danych do podzbioru urządzeń, aby zmniejszyć liczbę przetwarzanych zdarzeń. Te limity są na tyle wysokie, że nawet przy mniejszej liczbie zdarzeń wartości danych nadal odzwierciedlają wrażenia użytkowników aplikacji.
Aby zarządzać ilością zbieranych danych, Performance Monitoring używa tych opcji próbkowania:
Ograniczanie liczby żądań na urządzeniu: aby zapobiec wysyłaniu przez urządzenie nagłych serii logów czasu, ograniczamy liczbę logów czasu kodu i logów czasu żądań sieciowych wysyłanych z urządzenia do 300 zdarzeń co 10 minut. Takie podejście chroni urządzenie przed zapętlonymi instrumentacjami, które mogą wysyłać duże ilości danych o skuteczności, i zapobiega zniekształcaniu pomiarów wydajności przez pojedyncze urządzenie.
Dynamiczne próbkowanie:Performance Monitoring zbiera ograniczoną liczbę logów czasu kodu i logów czasu żądań sieciowych na aplikację dziennie u wszystkich użytkowników aplikacji. Na urządzeniach jest pobierana dynamiczna częstotliwość próbkowania (za pomocą Firebase Remote Config), aby określić, czy losowe urządzenie powinno przechwytywać i wysyłać logi czasu. Urządzenie, które nie zostało wybrane do próbkowania, nie wysyła żadnych zdarzeń. Dynamiczna częstotliwość próbkowania jest zależna od aplikacji i jest dostosowywana tak, aby łączna ilość zebranych danych nie przekraczała limitu.
Projekty, które mają włączoną integrację z BigQuery, mają wyższy limit liczby logów czasu żądań sieciowych.
Sesje użytkowników wysyłają dodatkowe, szczegółowe dane z urządzenia użytkownika, co wymaga więcej zasobów do przechwytywania i wysyłania danych. Aby zminimalizować wpływ sesji użytkowników, Performance Monitoring może też ograniczyć liczbę sesji.
Ograniczanie liczby żądań po stronie serwera: aby aplikacje nie przekraczały limitu próbkowania, Performance Monitoring może używać próbkowania po stronie serwera do odrzucania niektórych zdarzeń otrzymanych z urządzeń. Chociaż ten rodzaj ograniczenia nie wpływa na skuteczność naszych danych, może powodować niewielkie zmiany wzorców, w tym:
Liczba logów czasu może się różnić od liczby wykonań fragmentu kodu.
Ślady, które są ściśle powiązane w kodzie, mogą mieć różną liczbę próbek.
Co się stało z kartą Problemy w konsoli?
Zastąpiliśmy kartę Problemy alertami, które automatycznie powiadamiają Cię o przekroczeniu ustawionych progów. Nie musisz już ręcznie sprawdzać konsoli Firebase, aby określić stan progu. Więcej informacji o alertach 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 mogę wyświetlić logi czasu oczekiwania, które były na tych stronach?
Zmieniliśmy sekcję Performance Monitoring w konsoli Firebase, aby na karcie Panel wyświetlały się najważniejsze dane i wszystkie logi czasu w jednym miejscu. W ramach zmian usunęliśmy strony Na urządzeniu i Sieć.
Tabela śladów u dołu karty Panel zawiera te same informacje co karty Na urządzeniu i Sieć, ale ma też pewne dodatkowe funkcje, m.in. możliwość sortowania śladów według zmiany procentowej określonych danych. Aby wyświetlić wszystkie dane i wskaźniki dotyczące konkretnego logu czasu, kliknij jego nazwę w tabeli logów czasu.
Ślady możesz wyświetlać na tych podkartach tabeli śladów:
Logi czasu żądań sieciowych (zarówno gotowe, jak i niestandardowe) – podkarta Żądania sieciowe.
Ślady niestandardowego kodu – podkarta Ślady niestandardowe
Ślady uruchomienia aplikacji, aplikacji na pierwszym planie i aplikacji w tle – podkarta Ślady niestandardowe
Ślady renderowania ekranu – podkarta Renderowanie ekranu
Ślady wczytywania strony – podkarta Wczytywanie strony
Szczegółowe informacje o tabeli logów czasu oraz wyświetlaniu danych i statystyk znajdziesz na stronie przeglądu konsoli (iOS+ | Android | Web).
Dlaczego liczba powolnych i zamrożonych klatek jest inna, niż się spodziewam?
Powolne renderowanie klatek i zawieszone klatki są obliczane przy założeniu, że częstotliwość odświeżania urządzenia wynosi 60 Hz. Jeśli częstotliwość odświeżania urządzenia jest niższa niż 60 Hz, każda klatka będzie miała dłuższy czas renderowania, ponieważ na sekundę renderowanych jest mniej klatek.
Dłuższy czas renderowania może powodować zgłaszanie większej liczby wolnych lub zawieszonych klatek, ponieważ więcej klatek będzie renderowanych wolniej lub będzie się zawieszać. 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ć zgłaszanie mniejszej liczby powolnych lub zawieszonych klatek. Jest to obecne ograniczenie pakietu SDK Performance Monitoring.
thought
Eksportowanie danych Performance Monitoring do BigQuery trwa dłużej niż oczekiwano. Czy nie jest to czas rzeczywisty?
Jeśli masz włączoną integrację BigQuery z Firebase Performance Monitoring, dane będą eksportowane do BigQuery od 12 do 24 godzin po zakończeniu dnia (czasu pacyficznego).
Na przykład dane z 19 kwietnia będą dostępne w BigQuery 20 kwietnia między godziną 12:00 a północą (wszystkie daty i godziny są podawane według czasu pacyficznego).
Ile niestandardowych wzorców adresów URL mogę utworzyć?
Możesz utworzyć maksymalnie 400 niestandardowych wzorców adresów URL na aplikację i maksymalnie 100 niestandardowych wzorców adresów URL na domenę w przypadku danej aplikacji.
Przetwarzanie i wyświetlanie danych w czasie zbliżonym do rzeczywistego
Co oznaczają dane o skuteczności „w czasie zbliżonym do rzeczywistego”?
Firebase Performance Monitoring przetwarza zebrane dane o skuteczności na bieżąco, co pozwala na wyświetlanie ich w konsoli Firebase w czasie zbliżonym do rzeczywistego. Przetworzone dane są wyświetlane w konsoli w ciągu kilku minut od ich zebrania, stąd określenie „czas zbliżony do rzeczywistego”.
Jak uzyskać dane o skuteczności aplikacji w czasie zbliżonym do rzeczywistego?
Aby korzystać z przetwarzania danych w czasie zbliżonym do rzeczywistego, musisz tylko upewnić się, że Twoja aplikacja używa wersji pakietu SDK Performance Monitoring, która jest zgodna z przetwarzaniem danych w czasie rzeczywistym.
Oto wersje pakietu SDK zgodne z funkcją ochrony w czasie rzeczywistym:
iOS – wersja 7.3.0 lub nowsza,
tvOS – wersja 8.9.0 lub nowsza,
Android – wersja 19.0.10 lub nowsza (lub Firebase Android BoM w wersji 26.1.0 lub nowszej)
Internet – wersja 7.14.0 lub nowsza
Zawsze zalecamy używanie najnowszej wersji pakietu SDK, ale każda wersja wymieniona powyżej umożliwi usłudze Performance Monitoring przetwarzanie danych w czasie zbliżonym do rzeczywistego.
Które wersje pakietu SDK Performance Monitoring są zgodne z funkcją określania stawek w czasie rzeczywistym?
Oto wersje pakietu SDK 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 (lub Firebase Android BoM w wersji 26.1.0 lub nowszej)
Internet – wersja 7.14.0 lub nowsza
Zawsze zalecamy używanie najnowszej wersji pakietu SDK, ale każda z wymienionych powyżej wersji umożliwi usłudze Performance Monitoring przetwarzanie danych w czasie zbliżonym do rzeczywistego.
Co się stanie, jeśli nie zaktualizuję aplikacji, aby używała wersji pakietu SDK zgodnej z określaniem stawek w czasie rzeczywistym?
Jeśli Twoja aplikacja nie używa wersji pakietu SDK zgodnej z funkcją monitorowania w czasie rzeczywistym, nadal będziesz widzieć wszystkie dane o skuteczności aplikacji w konsoli Firebase. Jednak wyświetlanie danych o skuteczności będzie opóźnione o około 36 godzin od momentu ich zebrania.
Mam zaktualizowaną wersję pakietu SDK zgodną z danymi w czasie rzeczywistym, ale niektórzy użytkownicy nadal korzystają ze starszych wersji mojej aplikacji. Czy nadal będę widzieć ich dane o skuteczności w konsoli Firebase?
Tak. Niezależnie od tego, której wersji pakietu SDK używa instancja aplikacji, zobaczysz dane o skuteczności dotyczące wszystkich użytkowników.
Jeśli jednak przeglądasz najnowsze dane (sprzed mniej niż około 36 godzin), wyświetlane dane pochodzą od użytkowników instancji aplikacji korzystających z wersji pakietu SDK zgodnej z czasem rzeczywistym. Starsze dane obejmują jednak dane o skuteczności ze wszystkich wersji aplikacji.
Dlaczego nie widzę danych o skuteczności w czasie rzeczywistym?
Aby wyświetlać dane o skuteczności w czasie rzeczywistym, upewnij się, że Twoja aplikacja korzysta z pakietu SDK Performance Monitoring w wersji zgodnej 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 (lub Firebase Android BoM w wersji 26.1.0 lub nowszej)
Internet – wersja 7.14.0 lub nowsza
Zawsze zalecamy używanie najnowszej wersji pakietu SDK, ale każda wersja wymieniona powyżej umożliwi usłudze Performance Monitoring przetwarzanie danych w czasie zbliżonym do rzeczywistego.
[[["Ł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: 2026-10-16 UTC."],[],[]]