Performance Monitoring używa wyznaczeń do zbierania danych o monitorowanych procesach w aplikacji. Wyznanie to raport zawierający dane zebrane w aplikacji między 2 momentami w czasie.
W przypadku aplikacji na urządzenia z systemem Apple i Android 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 ścieżki zbierają i mierzą te dane:
Powolne renderowanie klatek – mierzy odsetek instancji ekranu, których renderowanie zajmuje ponad 16 ms.
Zablokowane klatki – mierzy odsetek instancji ekranu, których renderowanie trwało dłużej niż 700 ms.
Powolne lub zablokowane klatki w aplikacji mogą powodować niską wydajność urządzenia, zwaną też „jankiem” lub opóźnieniem. Dane dotyczące zablokowanych i powolnie renderowanych klatek mogą pomóc w identyfikowaniu ekranów o słabej wydajności, co pozwoli Ci poprawić wydajność renderowania aplikacji.
Dane z logów czasu renderowania ekranu możesz wyświetlić na karcie Renderowanie ekranu w tabeli z logami. Tabela prześledzeń znajduje się u dołu strony Skuteczność w 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 domyślne ścieżki, więc nie możesz dodawać do nich niestandardowych danych ani atrybutów.
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, czas renderowania każdej klatki będzie dłuższy, ponieważ w sekundzie wyrenderowanych zostanie mniej klatek. Wolniejsze czasy renderowania mogą powodować zgłaszanie większej liczby spowolnionych lub zablokowanych klatek, ponieważ więcej klatek będzie renderowanych wolniej lub zablokowanych. 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ć, że zgłoszonych zostanie mniej ujęć wolnych lub zablokowanych. Jest to obecne ograniczenie pakietu SDK Performance Monitoring.
Spowolnione klatki
Ta wartość to odsetek sesji użytkowników, podczas których na danym ekranie wystąpiło zauważalne spowolnienie renderowania. Te dane to odsetek instancji ekranu, podczas których renderowanie ponad 50% klatek trwało dłużej niż 16 ms.
Zablokowane klatki
Te dane to odsetek sesji użytkowników, w których przypadku na danym ekranie wystąpiła zauważalna liczba zamrożonych klatek. Te dane to procent instancji ekranu, w których przypadku renderowanie ponad 0,1% klatek trwało 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 ścieżki renderowania ekranu dla każdego elementu aktywności lub fragmentu używanego przez aplikację.
Każdy ślad renderowania ekranu wykonuje te działania:
Rozpoczyna się w przypadku każdej aktywności i klasy fragmentu, gdy obiekt staje się widoczny na ekranie.
OnActivityStarted()
w przypadku aktywności iOnFragmentResume()
w przypadku fragmentów.Zatrzymuje się w przypadku każdej aktywności i klasy fragmentów, gdy obiekt nie jest widoczny na ekranie.
OnActivityStopped()
dla aktywności iOnFragmentPaused()
dla fragmentów.
Śledzenie, wyświetlanie i filtrowanie danych o skuteczności
Aby wyświetlać dane o wydajności w czasie rzeczywistym, sprawdź, czy Twoja aplikacja używa wersji pakietu Performance Monitoring SDK, która jest zgodna z przetwarzaniem danych w czasie rzeczywistym. Więcej informacji o danych o skuteczności w czasie rzeczywistym
Śledzenie najważniejszych danych w panelu
Aby dowiedzieć się, jak zmieniają się Twoje kluczowe dane, dodaj je do panelu danych u góry panelu Skuteczność. Możesz szybko wykrywać regresje, obserwując zmiany z tygodnia na tydzień, lub sprawdzać, czy ostatnie zmiany w kodzie poprawiają skuteczność.
Panel monitorowania wydajności Firebase" />Aby dodać dane do panelu danych:
- Otwórz panel wydajności w konsoli Firebase.
- Kliknij pustą kartę danych, a potem wybierz istniejące dane, które chcesz dodać do planszy.
- Aby uzyskać więcej opcji, na wypełnionej karcie danych kliknij . Możesz na przykład zastąpić lub usunąć dane.
Tablica danych pokazuje zebrane dane w ciągu czasu, 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 na konsoli
Aby wyświetlić ścieżki, otwórz panel Skuteczność w konsoli Firebase, przewiń w dół do tabeli ścieżek i kliknij odpowiednią kartę. Tabela zawiera wybrane dane dotyczące każdego śladu. Możesz nawet posortować listę według zmiany procentowej konkretnego rodzaju danych.
Performance Monitoring udostępnia w konsoli Firebase stronę rozwiązywania problemów, na której wyróżnione są zmiany danych, co ułatwia szybkie rozwiązywanie problemów 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ą, na przykład w takich sytuacjach:
- Wybierasz odpowiednie dane na panelu i zauważysz dużą różnicę.
- W tabeli śledzonych zmian sortowanie odbywa się w taki sposób, aby największe wartości wyświetlały się na górze. Widoczna jest znaczna zmiana procentowa.
- Otrzymasz e-maila z powiadomieniem o problemie ze skutecznością.
Dostęp do strony rozwiązywania problemów możesz uzyskać na kilka sposobów:
- Na panelu danych kliknij przycisk Wyświetl szczegóły danych.
- Na dowolnej karcie danych kliknij
. Na stronie rozwiązywania problemów wyświetlają się informacje o wybranych danych. => Wyświetl szczegóły - W tabeli ścieżek kliknij nazwę ścieżki lub dowolną wartość danych w wierszu powiązanym z tą ścieżką.
- W e-mailu z powiadomieniem kliknij Zbadaj.
Po kliknięciu nazwy śledzenia w tabeli śledzenia możesz rozwinąć interesujące Cię dane. Aby filtrować dane według atrybutu, kliknij przycisk
- Aby wyświetlić dane o poprzedniej lub najnowszej wersji, użyj filtra Wersja aplikacji.
- Filtruj według urządzenia, aby dowiedzieć się, jak starsze urządzenia obsługują Twoją aplikację.
- Filtruj według Kraju, aby mieć pewność, że lokalizacja bazy danych nie wpływa na konkretny region.
Dowiedz się więcej o wyświetlaniu danych dotyczących swoich ścieżek.
Atrybuty fragmentu
W aplikacjach na Androida możesz ponownie używać fragmentów w innej aktywności lub innym fragmencie. Skuteczność fragmentu może się różnić w zależności od tego, w jakim fragmencie lub w jakiej aktywności jest on renderowany. Korzystając z tych atrybutów, możesz uzyskać szczegółowe informacje o skuteczności fragmentu w ramach fragmentu nadrzędnego na podstawie aktywności lub fragmentu, z którymi jest powiązany:
Panel Monitorowania wydajności" />- Hosting_activity – aktywność, która hostuje fragment. Umożliwia zrozumienie skuteczności fragmentu w ramach aktywności hostowanej.
- Parent_fragment – nadrzędny fragment względem sprawdzanego fragmentu. Umożliwia poznanie skuteczności fragmentu w ramach fragmentu nadrzędnego. Jeśli nie ma żadnych fragmentów nadrzędnych, atrybut jest ustawiony na Brak nadrzędnego.
Następne kroki
Dowiedz się więcej o używaniu atrybutów do sprawdzania danych o skuteczności.
Dowiedz się więcej o śledzeniu problemów ze skutecznością w konsoli Firebase.