Dane o wydajności renderowania ekranu (aplikacje Apple i na Androida)


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 z Androidem i iOS Performance Monitoring automatycznie mierzy wydajność renderowania na różnych ekranach aplikacji. Performance Monitoring tworzy ślad renderowania ekranu dla każdego ekranu w aplikacji. Ślady te zbierają i mierzą te dane:

Powolne lub zamrożone klatki w aplikacji mogą powodować niską wydajność urządzenia, zwaną też zacinaniem się lub opóźnieniem. Rejestrowanie danych o zablokowanych i wolno renderowanych klatkach może pomóc w identyfikowaniu ekranów o słabych wynikach, co umożliwia poprawę wydajności renderowania aplikacji.

Dane dotyczące logów czasu renderowania ekranu możesz wyświetlić na karcie Renderowanie ekranu w tabeli logów. Tabela śladów znajduje się u dołu strony SkutecznośćFirebase konsoli. Więcej informacji znajdziesz w artykule Śledzenie, wyświetlanie i filtrowanie danych o skuteczności.

Dane zbierane przez logi czasu renderowania ekranu

Są to gotowe ślady, więc nie możesz do nich dodawać niestandardowych danych ani atrybutów.

Spowolnione i zablokowane 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 renderowana wolniej, ponieważ na sekundę renderowanych jest mniej klatek. Dłuższy czas renderowania może powodować zgłaszanie większej liczby spowolnionych lub zamrożonych klatek, ponieważ więcej klatek będzie renderowanych wolniej lub będzie zamrożonych. Jeśli jednak częstotliwość odświeżania urządzenia jest wyższa niż 60 Hz, każda klatka będzie renderowana szybciej. Może to spowodować zgłaszanie mniejszej liczby powolnych lub zamrożonych klatek. Jest to obecne ograniczenie pakietu Performance Monitoring SDK.

Klatki renderowane powoli

Ten wskaźnik to odsetek sesji użytkowników, w których na danym ekranie wystąpiło zauważalne spowolnienie renderowania. W szczególności ten rodzaj danych to odsetek wyświetleń ekranu, podczas których ponad 50% klatek renderowało się dłużej niż 16 ms.

Zablokowane klatki

Ten rodzaj danych to odsetek sesji użytkowników, w których na określonym ekranie wystąpiła zauważalna liczba zamrożonych klatek. Ten rodzaj danych to procent wystąpień ekranu, podczas których ponad 0,1% klatek renderowało się dłużej niż 700 ms.

Jak są generowane logi czasu renderowania ekranu?

Każdy ślad renderowania ekranu jest identyfikowany przez nazwę elementu widoku w aplikacji. Klient Performance Monitoring tworzy ślady renderowania ekranu dla każdej aktywności lub fragmentu używanego przez aplikację.

Każdy log czasu renderowania ekranu wykonuje te działania:

  • Rozpoczyna się w przypadku każdej klasy aktywności i fragmentu, gdy obiekt staje się widoczny na ekranie. OnActivityStarted() w przypadku aktywności i OnFragmentResume() w przypadku fragmentów.

  • Zatrzymuje się w przypadku każdej aktywności i klasy fragmentu, gdy obiekt nie jest widoczny na ekranie. OnActivityStopped() w przypadku aktywności i OnFragmentPaused() w przypadku fragmentów.

Śledzenie, wyświetlanie i filtrowanie danych o skuteczności

Aby wyświetlać dane o wydajności w czasie rzeczywistym, upewnij się, że Twoja aplikacja korzysta z pakietu SDK do monitorowania wydajności w wersji zgodnej z przetwarzaniem danych w czasie rzeczywistym. Więcej informacji o danych o skuteczności w czasie rzeczywistym

Śledzenie najważniejszych wskaźników w panelu

Aby dowiedzieć się, jak zmieniają się Twoje kluczowe dane, dodaj je do tablicy danych u góry panelu Skuteczność. Możesz szybko identyfikować regresje, obserwując zmiany tydzień do tygodnia, lub sprawdzać, czy ostatnie zmiany w kodzie poprawiają skuteczność.

obraz tablicy wskaźników w <span class=Panel monitorowania wydajności Firebase" />

Aby dodać dane do tablicy danych, wykonaj te czynności:

  1. W konsoli Firebase otwórz panel Wydajność.
  2. Kliknij pustą kartę danych, a potem wybierz istniejące dane, które chcesz dodać do tablicy.
  3. Kliknij  na karcie z danymi, aby wyświetlić więcej opcji, np. zastąpienia lub usunięcia danych.

Tablica danych zawiera zebrane dane w formie wykresów i liczbowych zmian procentowych.

Dowiedz się więcej o korzystaniu z panelu.

Wyświetlanie skuteczności ekranu w konsoli

Aby wyświetlić ślady, otwórz panel Skuteczność w konsoli Firebase, przewiń w dół do tabeli śladów, a potem kliknij odpowiednią kartę. Tabela zawiera najważniejsze dane dotyczące każdego śladu. Możesz nawet posortować listę według zmiany procentowej dla określonych danych.

Performance Monitoring udostępnia w Firebase konsoli stronę rozwiązywania problemów, która wyróżnia zmiany wskaźników, co ułatwia szybkie reagowanie na problemy z wydajnością i minimalizowanie ich wpływu 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 w panelu odpowiednie dane i zauważasz dużą różnicę.
  • W tabeli śladów sortujesz dane tak, aby największe różnice były wyświetlane u góry, i widzisz znaczną zmianę procentową.
  • Otrzymasz e-maila z powiadomieniem o problemie z wydajnością.

Stronę rozwiązywania problemów możesz otworzyć w ten sposób:

  • Na panelu danych kliknij przycisk Wyświetl szczegóły danych.
  • Na dowolnej karcie danych wybierz  => Wyświetl szczegóły. Na stronie rozwiązywania problemów wyświetlą się informacje o wybranych danych.
  • 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 w tabeli śladów klikniesz nazwę śladu, możesz przejść do szczegółowych danych, które Cię interesują. Aby filtrować dane według atrybutu, kliknij przycisk Filtr. Możesz na przykład:

zdjęcie <span class=Dane monitorowania wydajności Firebase filtrowane według atrybutu" />
  • Filtruj według Wersji aplikacji, aby wyświetlić dane dotyczące poprzedniej lub najnowszej wersji.
  • Filtruj według Urządzenia, aby dowiedzieć się, jak starsze urządzenia obsługują Twoją aplikację.
  • Filtruj według kraju, aby sprawdzić, czy lokalizacja bazy danych nie wpływa na konkretny region.

Dowiedz się więcej o wyświetlaniu danych dotyczących śladów.

Atrybuty fragmentu

W aplikacjach na Androida możesz ponownie używać fragmentów w innej aktywności lub fragmencie. Skuteczność fragmentu może się różnić w zależności od fragmentu lub aktywności, w której jest on renderowany. Użyj tych atrybutów, aby uzyskać szczegółowe informacje o skuteczności fragmentu w ramach fragmentu nadrzędnego na podstawie aktywności lub fragmentu, z którym jest powiązany:

obraz danych fragmentu <span class=Panel Monitorowania wydajności" />
  • Hosting_activity – aktywność, która hostuje fragment. Umożliwia poznanie skuteczności fragmentu w ramach aktywności hosta.
  • Parent_fragment – fragment nadrzędny fragmentu, który sprawdzasz. Umożliwia poznanie skuteczności fragmentu w ramach fragmentu nadrzędnego. Jeśli nie ma fragmentów nadrzędnych, atrybut ma wartość No Parent (Brak elementu nadrzędnego).

Następne kroki