Dodawanie niestandardowego monitorowania na potrzeby określonego kodu aplikacji

Monitorowanie wydajności gromadzi ślady, które ułatwiają monitorowanie wydajności aplikacji. Ślad to raport z danymi o wydajności zebranymi w aplikacji między dwoma punktami w czasie.

Możesz tworzyć własne logi czasu, aby monitorować dane o wydajności powiązane z określonym kodem w aplikacji. Za pomocą niestandardowego śledzenia kodu możesz sprawdzić, ile czasu zajmuje aplikacji wykonanie określonego zadania lub zestawu zadań, na przykład wczytanie zestawu obrazów lub wysłanie zapytania do bazy danych.

Domyślnym wskaźnikiem niestandardowego logu czasu jest „czas trwania” (czas między jego punktem początkowym a końcowym). Możesz też dodać dane niestandardowe.

W swoim kodzie definiujesz początek i koniec niestandardowego śledzenia kodu za pomocą interfejsów API udostępnianych przez pakiet SDK Performance Monitoring.

Niestandardowe ślady kodu można uruchamiać w dowolnym momencie po utworzeniu i są bezpieczne w wątkach.

Ponieważ domyślne dane zbierane dla tych logów czasu to „czas trwania”, czasami są one nazywane „śladami czasu trwania”.

Dane z tych logów czasu możesz wyświetlić na podkarcie Niestandardowe logi czasu tabeli logów czasu u dołu panelu Wydajność (więcej informacji o korzystaniu z konsoli znajdziesz w dalszej części tej strony).

Atrybuty domyślne, atrybuty niestandardowe i dane niestandardowe

W przypadku niestandardowych logów czasu Monitorowanie wydajności automatycznie rejestruje atrybuty domyślne (typowe metadane, takie jak wersja aplikacji, kraj, urządzenie itp.), dzięki czemu możesz filtrować dane do logu czasu w konsoli Firebase. Możesz też dodawać i monitorować atrybuty niestandardowe (takie jak poziom gry czy właściwości użytkownika).

Możesz dodatkowo skonfigurować niestandardowy log czasu śledzenia, aby rejestrować dane niestandardowe dla zdarzeń związanych z wydajnością, które występują w zakresie logu czasu. Możesz np. utworzyć dane niestandardowe obejmujące liczbę trafień i niepowodzeń w pamięci podręcznej lub liczbę przypadków, gdy interfejs użytkownika nie odpowiada przez zauważalny okres.

Niestandardowe atrybuty i dane są wyświetlane w konsoli Firebase wraz z domyślnymi atrybutami i domyślnymi danymi śledzenia.

Dodaj niestandardowe logi czasu kodu

Użyj interfejsu Performance Monitoring Trace API, aby dodać niestandardowe logi czasu na potrzeby monitorowania określonego kodu aplikacji.

Pamiętaj:

  • Aplikacja może mieć wiele niestandardowych logów czasu.
  • Jednocześnie może być uruchomiony więcej niż 1 niestandardowy log czasu kodu.
  • Nazwy niestandardowych logów czasu muszą spełniać te wymagania: nie mogą się pojawiać odstępy na początku ani na końcu, nie mogą występować znaki podkreślenia (_), a maksymalna długość to 100 znaków.
  • Niestandardowe logi czasu kodu obsługują dodawanie niestandardowych danych i atrybutów niestandardowych.

Aby rozpocząć i zatrzymać niestandardowy log czasu śledzenia, opakuj kod, który chcesz śledzić, za pomocą kodu podobnego do tego:

Trace customTrace = FirebasePerformance.instance.newTrace('custom-trace');
await customTrace.start();

// Code you want to trace

await customTrace.stop();

Dodawanie niestandardowych wskaźników do niestandardowych logów czasu kodu

Za pomocą interfejsu Performance Monitoring Trace API możesz dodawać niestandardowe wskaźniki do niestandardowych logów czasu kodu.

Pamiętaj:

  • Nazwy danych niestandardowych muszą spełniać te wymagania: bez znaków odstępu na początku ani na końcu, bez znaku podkreślenia (_) i nie mogą mieć więcej niż 100 znaków.
  • Każdy niestandardowy ślad kodu może rejestrować maksymalnie 32 wskaźniki (wliczając domyślne dane Czas trwania).

Aby dodać dane niestandardowe, za każdym razem, gdy wystąpi zdarzenie, dodaj wiersz kodu podobny do tego poniżej. Te dane niestandardowe zliczają na przykład zdarzenia związane z wydajnością, które wystąpiły w aplikacji, takie jak trafienia w pamięci podręcznej lub ponowienia próby.

Trace customTrace = FirebasePerformance.instance.newTrace("custom-trace");
await customTrace.start();

// Code you want to trace

customTrace.incrementMetric("metric-name", 1);

// More code

await customTrace.stop();

Tworzenie atrybutów niestandardowych na potrzeby niestandardowych logów czasu

Aby używać atrybutów niestandardowych, dodaj do aplikacji kod, który definiuje atrybut i powiąże go z konkretnym niestandardowym logem czasu w kodzie. Atrybut niestandardowy możesz ustawić w dowolnym momencie między rozpoczęciem śledzenia a jego zatrzymaniem.

Pamiętaj:

  • Nazwy atrybutów niestandardowych muszą spełniać te wymagania: nie mogą się pojawiać na początku ani na końcu, nie mogą zawierać znaku podkreślenia (_), a maksymalna długość to 32 znaki.

  • Każdy niestandardowy ślad kodu może rejestrować maksymalnie 5 atrybutów niestandardowych.

  • Nie używaj atrybutów niestandardowych, które zawierają informacje umożliwiające Google identyfikację osoby.

Trace trace = FirebasePerformance.instance.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 określonych danych w panelu

Aby poznać trendy dotyczące kluczowych danych, dodaj je do tablicy danych u góry panelu Skuteczność. Możesz szybko wykrywać regresje, analizując zmiany z tygodnia na tydzień lub sprawdzać, czy ostatnie zmiany w kodzie poprawiają skuteczność.

Aby dodać wskaźnik do swojej tablicy wskaźników, w konsoli Firebase otwórz panel Skuteczność, a następnie kliknij kartę Panel. Kliknij pustą kartę danych, a potem wybierz istniejący wskaźnik, aby dodać go do tablicy. Kliknij wielokropek w pionie () na wypełnionej karcie wskaźnika, aby wyświetlić więcej opcji, takich jak zastąpienie lub usunięcie wskaźnika.

Tablica wskaźników pokazuje zebrane dane wskaźników w czasie, zarówno w postaci graficznej, jak i liczbowej zmiany procentowej.

Dowiedz się więcej o korzystaniu z panelu.

Wyświetlanie logów czasu i ich danych

Aby wyświetlić logi czasu, otwórz panel Skuteczność w konsoli Firebase, przewiń w dół do tabeli logów czasu i kliknij odpowiednią podkartę. Tabela zawiera najważniejsze wskaźniki dla każdego logu czasu. Możesz nawet posortować listę według zmiany procentowej określonego wskaźnika.

Po kliknięciu nazwy logu czasu w tabeli logów czasu możesz przechodzić między różnymi ekranami, aby przeanalizować log i przejść do interesujących Cię wskaźników. Na większości stron możesz użyć przycisku Filtruj (w lewym górnym rogu ekranu), aby filtrować dane według atrybutu, np.:

  • Aby wyświetlić dane o poprzedniej lub najnowszej wersji, zastosuj filtrowanie według wersji aplikacji.
  • Filtruj według opcji Urządzenie, 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 określony region

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

Następne kroki

  • Dowiedz się więcej o używaniu atrybutów do badania 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 obniżają wydajność aplikacji. Możesz na przykład skonfigurować alert e-mail dla swojego zespołu, jeśli czas trwania określonego niestandardowego śledzenia kodu przekroczy ustawiony próg.