Performance Monitoring zbiera ślady, aby pomóc Ci monitorować skuteczność aplikacji. Ślad to raport z danymi o skuteczności zarejestrowanymi między 2 punktami w czasie w aplikacji.
Możesz tworzyć własne logi czasu, aby monitorować dane o wydajności powiązane z określonym kodem w aplikacji. Za pomocą niestandardowego logu czasu kodu możesz mierzyć, ile czasu zajmuje aplikacji wykonanie określonego zadania lub zestawu zadań, np. wczytanie zestawu obrazów lub wysłanie zapytania do bazy danych.
Domyślne dane w przypadku logu czasu kodu niestandardowego to „czas trwania” (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 kodu niestandardowego za pomocą interfejsów API udostępnianych przez pakiet SDK Performance Monitoring.
W przypadku aplikacji na Androida możesz też monitorować konkretne metody za pomocą @AddTrace
adnotacji.
Śledzenie kodu niestandardowego można rozpocząć w dowolnym momencie po jego utworzeniu. Jest ono bezpieczne dla wątków.
Domyślnym wskaźnikiem zbieranym w przypadku tych śladów jest „czas trwania”, dlatego czasami są one nazywane „śladami czasu trwania”.
Dane z tych śladów możesz wyświetlić na karcie Ślady niestandardowe w tabeli śladów, która znajduje się u dołu panelu Skuteczność (więcej informacji o korzystaniu z konsoli znajdziesz w dalszej części tej strony).
Atrybuty domyślne, atrybuty niestandardowe i dane niestandardowe
W przypadku logów czasu z kodu niestandardowego Performance Monitoring automatycznie rejestrujeatrybuty domyślne (typowe metadane, takie jak wersja aplikacji, kraj, urządzenie itp.), aby umożliwić filtrowanie danych logu czasu w Firebase konsoli. Możesz też dodawać i monitorować atrybuty niestandardowe (np. poziom gry lub właściwości użytkownika).Możesz dodatkowo 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 nietrafień pamięci podręcznej lub liczby przypadków, w których interfejs użytkownika przestaje odpowiadać na zauważalny okres czasu.
Atrybuty niestandardowe i dane niestandardowe są wyświetlane w Firebasekonsoli obok atrybutów domyślnych i danych domyślnych śladu.
Dodawanie niestandardowych śladów kodu
Użyj Performance Monitoring interfejsu Trace API do dodawania niestandardowych logów czasu kodu, aby monitorować konkretny kod aplikacji.
Pamiętaj:
- Aplikacja może mieć wiele śladów kodu niestandardowego.
- W tym samym czasie może być uruchomionych więcej niż 1 ślad kodu niestandardowego.
- Nazwy śladów kodu niestandardowego muszą spełniać te wymagania: nie mogą zawierać znaków niedrukowalnych na początku ani na końcu, nie mogą zaczynać się od podkreślenia (
_
), a ich maksymalna długość to 100 znaków. - Logi czasu z kodu niestandardowego obsługują dodawanie danych niestandardowych i atrybutów niestandardowych.
Aby rozpocząć i zatrzymać śledzenie kodu niestandardowego, umieść kod, który chcesz śledzić, w wierszach kodu podobnych do tych poniżej (w tym przykładzie użyto niestandardowej nazwy śledzenia test_trace
):
Kotlin
// 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 konkretnych metod za pomocą adnotacji @AddTrace
Aplikacje na Androida obsługują też @AddTrace
adnotację do instrumentowania niestandardowych logów czasu kodu. Dzięki tej funkcji śledzenie rozpoczyna się na początku określonej metody i kończy, gdy metoda zostanie wykonana, w tym wszystko, co zostało przez nią wywołane.
Możesz na przykład utworzyć niestandardowy ślad kodu o nazwie onCreateTrace
, który będzie uruchamiany, gdy zostanie wywołana metoda onCreate()
.
Kotlin
// 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 logów czasu z kodu niestandardowego
Użyj Performance Monitoring interfejsu Trace API, aby dodać niestandardowe dane do logów czasu niestandardowego kodu.
Pamiętaj:
- Nazwy niestandardowych danych muszą spełniać te wymagania: nie mogą zawierać spacji na początku ani na końcu, nie mogą zaczynać się od podkreślenia (
_
) i mogą mieć maksymalnie 100 znaków. - Każdy log czasu z kodu niestandardowego może rejestrować do 32 rodzajów danych (w tym domyślne dane Czas trwania).
Aby dodać dane niestandardowe, dodaj wiersz kodu podobny do tego poniżej za każdym razem, gdy wystąpi zdarzenie. Na przykład te dane niestandardowe zliczają zdarzenia związane z wydajnością, które występują w Twojej aplikacji, np. trafienia i nietrafienia w pamięci podręcznej (przy użyciu przykładowych nazw zdarzeń item_cache_hit
i item_cache_miss
oraz przyrostu 1
).
Kotlin
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 atrybutów niestandardowych dla śladów kodu niestandardowego
Użyj Performance Monitoring interfejsu Trace API , aby dodać atrybuty niestandardowe do logów czasu niestandardowego kodu.Aby używać atrybutów niestandardowych, dodaj do aplikacji kod, który definiuje atrybut i wiąże go z określonym śladem kodu niestandardowego. Atrybut niestandardowy możesz ustawić w dowolnym momencie od rozpoczęcia do zakończenia śledzenia.
Pamiętaj:
Nazwy atrybutów niestandardowych muszą spełniać te wymagania:
- Brak 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 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, które umożliwiają Google identyfikację konkretnej osoby.
Więcej informacji o tych wytycznych
Kotlin
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 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ść.

Aby dodać dane do tablicy danych, wykonaj te czynności:
- W konsoli Firebase otwórz panel Wydajność.
- Kliknij pustą kartę danych, a potem wybierz istniejące dane, które chcesz dodać do tablicy.
- 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 logów czasu i ich danych
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
. Na stronie rozwiązywania problemów wyświetlą się informacje o wybranych danych. => Wyświetl szczegóły - 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

- 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.
Następne kroki
Dowiedz się więcej o używaniu atrybutów do analizowania danych o skuteczności.
Dowiedz się więcej o tym, jak śledzić problemy z wydajnością w konsoli Firebase.
Skonfiguruj alerty dotyczące zmian w kodzie, które pogarszają skuteczność aplikacji. Możesz na przykład skonfigurować alert e-mail dla zespołu, który będzie wysyłany, gdy czas trwania określonego śledzenia niestandardowego kodu przekroczy ustawiony przez Ciebie próg.
- Wyświetlaj szczegółowe raporty dotyczące sesji użytkowników, w których możesz zobaczyć konkretny ślad w kontekście osi czasu innych śladów zebranych podczas tej samej sesji.