Performance Monitoring zbiera ślady, aby ułatwić Ci monitorowanie skuteczności aplikacji. Ślad to raport danych o skuteczności, który jest rejestrowany w aplikacji między 2 momentami w czasie.
Możesz tworzyć własne ścieżki, aby monitorować dane o wydajności powiązane z konkretnym kodem w aplikacji. Dzięki ścieżce niestandardowego kodu możesz mierzyć, ile czasu zajmuje aplikacji wykonanie określonego zadania lub zestawu zadań, np. wczytywanie zestawu obrazów lub wysyłanie zapytania do bazy danych.
Domyślnym wskaźnikiem w przypadku niestandardowego logu czasu jest jego „długość” (czas między punktem początkowym a końcowym logu czasu), ale możesz też dodać dane niestandardowe.
W kodzie definiujesz początek i koniec śledzenia niestandardowego kodu za pomocą interfejsów API dostępnych w pakiecie SDK Performance Monitoring.
W przypadku aplikacji na Androida możesz też monitorować konkretne metody za pomocą adnotacji @AddTrace
.
Ścieżki niestandardowego kodu można uruchomić w dowolnym momencie po ich utworzeniu. Są one bezpieczne w wątku.
Domyślnym wskaźnikiem zbieranym w przypadku tych ścieżek jest „czas trwania”, dlatego są one czasami nazywane „ścieżkami czasu trwania”.
Dane z tych ścieżek możesz wyświetlić na karcie Ścieżki niestandardowe w tabeli ścieżek, która znajduje się u dołu panelu Skuteczność (więcej informacji o używaniu konsoli znajdziesz dalej na tej stronie).
Atrybuty domyślne, atrybuty niestandardowe i dane niestandardowe
W przypadku logów niestandardowego kodu Performance Monitoring automatycznie rejestruje domyślne atrybuty (popularne metadane, takie jak wersja aplikacji, kraj, urządzenie itp.), dzięki czemu możesz filtrować dane w logach w konsoli Firebase. Możesz też dodawać i monitorować atrybuty niestandardowe (np. poziom gry lub właściwości użytkownika).Możesz też skonfigurować śledzenie kodu niestandardowego, aby rejestrować dane niestandardowe dotyczące zdarzeń związanych z wydajnością, które występują w zakresie śledzenia. Możesz na przykład utworzyć dane niestandardowe dotyczące liczby trafień i błędów w przypadku pamięci podręcznej lub liczby razy, kiedy interfejs nie odpowiadał na żądania przez zauważalny okres czasu.
Atrybuty i dane niestandardowe są widoczne w konsoli Firebaseobok atrybutów i danych domyślnych dotyczących ścieżki.
Dodawanie niestandardowych ścieżek kodu
Użyj Performance Monitoring Trace API do dodania niestandardowych logów kodu, aby monitorować określony kod aplikacji.
Pamiętaj:
- Aplikacja może mieć wiele ścieżek śledzenia kodu niestandardowego.
- Możesz uruchamiać jednocześnie więcej niż 1 śledzenie kodu niestandardowego.
- Nazwy niestandardowych ścieżek kodu muszą spełniać te wymagania: nie mogą zawierać spacji na początku ani na końcu, nie mogą zaczynać się od znaku podkreślenia (
_
), a ich maksymalna długość to 100 znaków. - Ścieżki niestandardowego kodu umożliwiają dodawanie danych niestandardowych i atrybutów niestandardowych.
Aby rozpocząć i zatrzymać śledzenie kodu niestandardowego, owiń kod, który chcesz śledzić, wierszami kodu podobnymi do tych (w tym przykładzie użyto niestandardowej nazwy śledzenia test_trace
):
Kotlin+KTX
// Import these Performance Monitoring classes at the top of your `.kt` file import com.google.firebase.perf.FirebasePerformance; import com.google.firebase.perf.metrics.Trace; val myTrace = Firebase.performance.newTrace("test_trace") myTrace.start() // code that you want to trace myTrace.stop()
Java
// Import these Performance Monitoring classes at the top of your `.java` file import com.google.firebase.perf.FirebasePerformance; import com.google.firebase.perf.metrics.Trace; Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace"); myTrace.start(); // code that you want to trace myTrace.stop();
(Opcjonalnie) Monitorowanie określonych metod za pomocą @AddTrace
Aplikacje na Androida obsługują też adnotację @AddTrace
, która umożliwia rejestrowanie niestandardowych dzienników kodu. W przypadku korzystania z tej funkcji śledzenie rozpoczyna się na początku określonej metody i kończy się po jej zakończeniu, obejmując wszystko, co zostało wywołane przez tę metodę.
Możesz na przykład utworzyć niestandardowy ślad kodu o nazwie onCreateTrace
, który jest wykonywany, gdy wywoływana jest metoda onCreate()
.
Kotlin+KTX
// Import these Performance Monitoring classes at the top of your `.kt` file import com.google.firebase.perf.FirebasePerformance; import com.google.firebase.perf.metrics.AddTrace; // Add the `@AddTrace` annotation above the method you want to trace // the `enabled` argument is optional and defaults to true @AddTrace(name = "onCreateTrace", enabled = true) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) }
Java
// Import these Performance Monitoring classes at the top of your `.java` file import com.google.firebase.perf.FirebasePerformance; import com.google.firebase.perf.metrics.AddTrace; // Add the `@AddTrace` annotation above the method you want to trace @Override @AddTrace(name = "onCreateTrace", enabled = true /* optional */) protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); }
Dodawanie wskaźników niestandardowych do niestandardowych logów kodu
Aby dodać do niestandardowych logów kodu dane niestandardowe, użyj Performance Monitoring Trace API.
Pamiętaj:
- Nazwy danych niestandardowych muszą spełniać te wymagania: nie mogą zawierać znaków niedrukowalnych ani spacjowania na początku ani na końcu, nie mogą też zaczynać się od znaku podkreślenia (
_
). Ich maksymalna długość to 100 znaków. - Każdy ślad niestandardowego kodu może rejestrować maksymalnie 32 rodzaje danych (w tym domyślne dane Czas trwania).
Aby dodać dane niestandardowe, dodaj wiersz kodu podobnego do tego za każdym razem, gdy wystąpi zdarzenie. Te dane niestandardowe zliczają zdarzenia związane z wydajnością występujące w aplikacji, np. trafienia i błędy w pamięci podręcznej (przy użyciu przykładowych nazw zdarzeń item_cache_hit
i item_cache_miss
oraz przyrostu 1
).
Kotlin+KTX
val myTrace = Firebase.performance.newTrace("test_trace") myTrace.start() // code that you want to trace (and log custom metrics) val item = cache.fetch("item") if (item != null) { myTrace.incrementMetric("item_cache_hit", 1) } else { myTrace.incrementMetric("item_cache_miss", 1) } myTrace.stop()
Java
Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace"); myTrace.start(); // code that you want to trace (and log custom metrics) Item item = cache.fetch("item"); if (item != null) { myTrace.incrementMetric("item_cache_hit", 1); } else { myTrace.incrementMetric("item_cache_miss", 1); } myTrace.stop();
Tworzenie niestandardowych atrybutów do śledzenia niestandardowego kodu
Użyj Performance Monitoring Trace API do dodania atrybutów niestandardowych do niestandardowych logów kodu.Aby używać atrybutów niestandardowych, dodaj do aplikacji kod, który definiuje atrybut i kojarzy go z określonym śladem kodu niestandardowego. Atrybut niestandardowy możesz ustawić w dowolnym momencie między rozpoczęciem a zakończeniem śledzenia.
Pamiętaj:
Nazwy atrybutów niestandardowych muszą spełniać te wymagania:
- Brak znaków spacji na początku i na końcu, brak znaku podkreślenia (
_
) na początku. - Brak pokoi
- Maksymalna długość to 32 znaki
- Dozwolone znaki w nazwie to
A-Z
,a-z
i_
.
- Brak znaków spacji na początku i na końcu, brak znaku podkreślenia (
Każdy ślad kodu niestandardowego może rejestrować maksymalnie 5 atrybutów niestandardowych.
Upewnij się, że atrybuty niestandardowe nie zawierają żadnych informacji umożliwiających identyfikację osoby przez Google.
Więcej informacji o tej wytycznej
Kotlin+KTX
Firebase.performance.newTrace("test_trace").trace { // Update scenario. putAttribute("experiment", "A") // Reading scenario. val experimentValue = getAttribute("experiment") // Delete scenario. removeAttribute("experiment") // Read attributes. val traceAttributes = this.attributes }
Java
Trace trace = FirebasePerformance.getInstance().newTrace("test_trace"); // Update scenario. trace.putAttribute("experiment", "A"); // Reading scenario. String experimentValue = trace.getAttribute("experiment"); // Delete scenario. trace.removeAttribute("experiment"); // Read attributes. Map<String, String> traceAttributes = trace.getAttributes();
Śledzenie, wyświetlanie i filtrowanie danych o skuteczności
Śledzenie konkretnych 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 tablicy.
- 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 ścieżek i ich danych
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 zrzutów sortowanie odbywa się w taki sposób, aby największe wartości wyświetlały się u góry. Widać też znaczną zmianę procentową.
- 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 ścieżek możesz rozwinąć interesujące Cię dane. Aby filtrować dane według atrybutu, kliknij przycisk
- Aby wyświetlić dane dotyczące 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.
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.
Skonfiguruj alerty dotyczące zmian kodu, które pogarszają działanie aplikacji. Możesz na przykład skonfigurować alert e-mailowy dla swojego zespołu, jeśli czas trwania określonego śledzenia kodu niestandardowego przekroczy ustawiony przez Ciebie próg.
- wyświetlać szczegółowe raporty o sesjach użytkowników, w których można zobaczyć konkretny ślad w kontekście innych śladów zebranych w ramach tej samej sesji.