Performance Monitoring używa śladów do zbierania danych o monitorowanych procesach w aplikacji. Ślad to raport zawierający dane zarejestrowane między 2 punktami w czasie w aplikacji.
W przypadku aplikacji na urządzenia Apple i aplikacji na Androida Performance Monitoring automatycznie mierzy wydajność renderowania różnych ekranów w aplikacji. Performance Monitoring tworzy ślad renderowania ekranu dla każdego ekranu w aplikacji. Te logi śledzenia zbierają i mierzą te dane:
Powolne renderowanie klatek – mierzy odsetek instancji ekranu, których renderowanie trwa dłużej niż 16 ms.
Zablokowane klatki – mierzy odsetek instancji ekranu, których renderowanie trwa dłużej niż 700 ms.
Powolne lub zawieszone klatki w aplikacji mogą powodować słabą wydajność urządzenia, czyli tzw. zacinanie się lub opóźnienia. Rejestrowanie danych o zawieszonych i powolnym renderowaniu klatek może pomóc w identyfikowaniu ekranów o niskiej wydajności, co pozwoli Ci poprawić wydajność renderowania aplikacji.
Dane dotyczące logów czasu renderowania ekranu możesz wyświetlić na karcie Renderowanie ekranu w tabeli logów czasu. Tabela logów czasu znajduje się u dołu strony Wydajność w konsoli Firebase. Więcej informacji znajdziesz w artykule Śledzenie, wyświetlanie i filtrowanie danych o skuteczności.
Wskaźniki zbierane przez logi czasu renderowania ekranu
Są to gotowe logi czasu, więc nie możesz dodawać do nich wskaźników niestandardowych ani atrybutów niestandardowych.
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ż w ciągu sekundy 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 wolnych lub zawieszonych klatek. Jest to obecne ograniczenie pakietu SDK Performance Monitoring.
Powolne renderowanie klatek
Te dane to odsetek sesji użytkowników, podczas których wystąpiło zauważalne spowolnienie renderowania konkretnego ekranu. Konkretnie jest to odsetek instancji ekranu, podczas których ponad 50% klatek renderowało się dłużej niż 16 ms.
Zablokowane klatki
Te dane to odsetek sesji użytkowników, podczas których na określonym ekranie wystąpiła zauważalna liczba zamrożonych klatek. Konkretnie te dane to odsetek instancji ekranu, podczas których ponad 0,1% klatek renderowało się dłużej niż 700 ms.
Jak są generowane logi czasu renderowania ekranu?
Uruchamia się dla każdego obiektu UIViewController w keyWindow, gdy aplikacja wywołuje metodę
viewDidAppear:.Zatrzymuje się, gdy aplikacja wywołuje metodę
viewDidDisappear:.
Pamiętaj, że ślady renderowania ekranu nie rejestrują kontrolerów widoku kontenera kanonicznego.
Śledzenie, wyświetlanie i filtrowanie danych o skuteczności
Aby wyświetlać dane o skuteczności w czasie rzeczywistym, upewnij się, że Twoja aplikacja korzysta z wersji pakietu SDK monitorowania skuteczności, która jest zgodna z przetwarzaniem danych w czasie rzeczywistym. Więcej informacji o danych o skuteczności w czasie rzeczywistym
Śledzenie kluczowych danych w panelu
Aby dowiedzieć się, jakie są trendy dotyczące kluczowych danych, dodaj je do tablicy danych u góry panelu Skuteczność. Możesz szybko zidentyfikować regresje, sprawdzając zmiany z tygodnia na tydzień, lub sprawdzić, czy ostatnie zmiany w kodzie poprawiają wydajność.
Panel monitorowania skuteczności w Firebase" />
Aby dodać dane do panelu danych, wykonaj te czynności:
- Otwórz panel Wydajność w konsoli Firebase.
- Kliknij pustą kartę danych, a potem wybierz istniejące dane, które chcesz dodać do tablicy.
- Kliknij na karcie danych, aby wyświetlić więcej opcji, np. zastąpić lub usunąć dane.
Panel danych pokazuje zebrane dane w czasie, zarówno w formie graficznej, jak i w postaci liczbowej zmiany procentowej.
Dowiedz się więcej o korzystaniu z panelu.
Wyświetlanie skuteczności ekranu w konsoli
Aby wyświetlić logi czasu, otwórz panel Wydajność w konsoli Firebase, przewiń w dół do tabeli logów czasu i kliknij odpowiednią podkartę. Tabela zawiera niektóre najważniejsze dane dotyczące każdego śladu. Możesz nawet posortować listę według zmiany procentowej konkretnych danych.
Performance Monitoring udostępnia w konsoli Firebase stronę rozwiązywania problemów, na której wyróżnione są zmiany wskaźników. Dzięki temu możesz szybko rozwiązywać problemy z wydajnością i minimalizować ich wpływ na aplikacje i użytkowników. Strony rozwiązywania problemów możesz używać, gdy dowiesz się o potencjalnych problemach z wydajnością, np. w tych sytuacjach:
- Wybierasz odpowiednie dane w panelu i zauważasz dużą różnicę.
- W tabeli logów czasu sortujesz dane, aby wyświetlić największe delty u góry, i widzisz znaczną zmianę procentową.
- Otrzymujesz alert e-mail z powiadomieniem o problemie z wydajnością.
Stronę rozwiązywania problemów możesz otworzyć na te sposoby:
- W panelu danych kliknij przycisk Wyświetl szczegóły danych.
- Na dowolnej karcie danych kliknij
=> Wyświetl szczegóły . Na stronie rozwiązywania problemów wyświetlą się informacje o wybranym wskaźniku. - W tabeli logów czasu kliknij nazwę logu czasu lub dowolną wartość danych w wierszu powiązanym z tym logiem czasu.
- W alercie e-mail kliknij Zbadaj teraz.
Gdy klikniesz nazwę logu czasu w tabeli logów czasu, możesz przejść do interesujących Cię danych. Kliknij przycisk
Dane monitorowania skuteczności w Firebase filtrowane według atrybutu" />
- Filtruj według wersji aplikacji, aby wyświetlić dane o poprzedniej lub najnowszej wersji.
- Aby dowiedzieć się, jak starsze urządzenia radzą sobie z Twoją aplikacją, użyj filtra Urządzenie.
- Filtruj według kraju, aby upewnić się, że lokalizacja bazy danych nie wpływa na konkretny region.
Dowiedz się więcej o wyświetlaniu danych logów czasu.
Następne kroki
Dowiedz się więcej o używaniu atrybutów do analizowania danych o skuteczności.
Dowiedz się więcej o śledzeniu problemów z wydajnością w konsoli Firebase.