Dodawanie niestandardowego monitorowania na potrzeby określonego kodu aplikacji


Monitorowanie skuteczności zbiera logi czasu, aby ułatwić Ci monitorowanie wydajności aplikacji. Log czasu to raport z danymi o skuteczności zebranymi między 2 punktami w czasie w aplikacji.

Możesz tworzyć własne logi czasu, aby monitorować dane o wydajności powiązane z konkretnym 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ślnym wskaźnikiem śladu niestandardowego kodu jest „czas trwania” (czas między punktem początkowym a końcowym śladu), ale możesz też dodać wskaźniki niestandardowe.

W kodzie definiujesz początek i koniec niestandardowego śladu kodu za pomocą interfejsów API udostępnianych przez pakiet SDK Monitorowania wydajności.

Ślady kodu niestandardowego można uruchomić w dowolnym momencie po ich utworzeniu. Są one wątkowo bezpieczne.

Ponieważ domyślnym wskaźnikiem zbieranym w przypadku tych logów czasu jest „czas trwania”, czasami są one nazywane „logami czasu trwania”.

Dane z tych logów czasu możesz wyświetlić na podkarcie Logi czasu niestandardowe w tabeli logów czasu, która znajduje się 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 śladów kodu niestandardowego 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 śladu 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ć niestandardowy ślad kodu, aby rejestrować wskaźniki niestandardowe dotyczące zdarzeń związanych z wydajnością, które występują w zakresie śladu. Możesz na przykład utworzyć wskaźnik niestandardowy dotyczący liczby trafień i chybień w pamięci podręcznej lub liczby przypadków, gdy interfejs przestaje reagować na zauważalny czas.

Atrybuty i wskaźniki niestandardowe są wyświetlane w konsoli Firebase obok domyślnych atrybutów i wskaźników śladu.

Dodawanie niestandardowych śladów kodu

Użyj interfejsu Performance Monitoring Trace API, aby dodać niestandardowe logi czasu kodu i monitorować konkretny kod aplikacji.

Pamiętaj:

  • Aplikacja może mieć wiele niestandardowych śladów kodu.
  • Jednocześnie może być uruchomionych kilka niestandardowych śladów kodu.
  • Nazwy logów czasu niestandardowego 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 (_) i mogą mieć maksymalnie 100 znaków.
  • Ślady kodu niestandardowego obsługują dodawanie wskaźników niestandardowych i atrybutów niestandardowych.

Aby rozpocząć i zatrzymać niestandardowy ślad kodu, umieść kod, który chcesz śledzić, w kodzie podobnym do tego:

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

// Code you want to trace

await customTrace.stop();

Dodawanie wskaźników niestandardowych do śladów niestandardowego kodu

Użyj interfejsu Performance Monitoring Trace API, aby dodać niestandardowe wskaźniki do niestandardowych śladów kodu.

Pamiętaj:

  • Nazwy danych niestandardowych muszą spełniać te wymagania: nie mogą zawierać spacji na początku ani na końcu, nie mogą zaczynać się od znaku podkreślenia (_) i mogą mieć maksymalnie 100 znaków.
  • Każdy niestandardowy ślad kodu może rejestrować do 32 rodzajów danych (w tym domyślne dane Czas trwania).

Aby dodać dane niestandardowe, za każdym razem, gdy wystąpi zdarzenie, dodaj wiersz kodu podobny do tego: Te dane niestandardowe zliczają na przykład zdarzenia związane z wydajnością, które występują w aplikacji, takie jak trafienia w pamięci podręcznej lub ponowne 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 dla niestandardowych śladów kodu

Aby używać atrybutów niestandardowych, dodaj do aplikacji kod, który definiuje atrybut i powiązuje go z konkretnym niestandardowym śladem kodu. 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: nie mogą zawierać spacji na początku ani na końcu, nie mogą zaczynać się od znaku podkreślenia (_) i mogą mieć maksymalnie 32 znaki.

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

  • Nie używaj atrybutów niestandardowych, które zawierają informacje umożliwiające Google identyfikację konkretnej 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 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 zidentyfikować regresje, sprawdzając zmiany z tygodnia na tydzień, lub sprawdzić, czy ostatnie zmiany w kodzie poprawiają wydajność.

Aby dodać dane do panelu danych, otwórz panel Wydajność w konsoli Firebase, a następnie kliknij kartę Panel. Kliknij pustą kartę danych, a następnie wybierz istniejące dane, które chcesz dodać do tablicy. Aby wyświetlić więcej opcji, np. zastąpienie lub usunięcie danych, kliknij pionową ikonę wielokropka (⋮) na karcie z danymi.

Panel danych pokazuje zebrane dane w czasie, zarówno w formie graficznej, jak i jako procentową zmianę liczbową.

Dowiedz się więcej o korzystaniu z panelu.

Wyświetlanie logów czasu i ich danych

Aby wyświetlić logi czasu, otwórz panel Wydajność w konsoli Firebase, przewiń w dół do tabeli logów czasu, a następnie kliknij odpowiednią podkartę. Tabela zawiera niektóre najważniejsze dane dotyczące każdego śladu. Możesz nawet posortować listę według zmiany procentowej konkretnych danych.

Jeśli klikniesz nazwę logu czasu oczekiwania w tabeli logów czasu oczekiwania, możesz przechodzić między różnymi ekranami, aby przeglądać log czasu oczekiwania i szczegółowo analizować interesujące Cię dane. Na większości stron możesz użyć przycisku Filtr (w lewym górnym rogu ekranu), aby filtrować dane według atrybutu, na przykład:

  • Użyj filtra Wersja aplikacji, aby wyświetlić dane o poprzedniej lub najnowszej wersji.
  • Aby dowiedzieć się, jak starsze urządzenia radzą sobie z Twoją aplikacją, użyj filtra Urządzenie.
  • Filtruj według kraju, aby upewnić się, że lokalizacja bazy danych nie wpływa na konkretny region.

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

Następne kroki

  • Dowiedz się więcej o używaniu atrybutów do analizowania danych o skuteczności.

  • Dowiedz się więcej o śledzeniu problemów 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 śladu kodu przekroczy ustawiony przez Ciebie próg.