Dodaj niestandardowe monitorowanie dla określonego kodu aplikacji

na

Monitorowanie wydajności zbiera ślady , aby pomóc w monitorowaniu wydajności aplikacji. Ślad to raport danych o wydajności przechwyconych w aplikacji między dwoma punktami w czasie.

Możesz tworzyć własne ślady, aby monitorować dane dotyczące wydajności związane z określonym kodem w Twojej aplikacji. Dzięki niestandardowemu śledzeniu kodu możesz zmierzyć, ile czasu zajmuje Twojej aplikacji wykonanie określonego zadania lub zestawu zadań, na przykład ładowanie zestawu obrazów lub wysyłanie zapytań do bazy danych.

Domyślną metryką niestandardowego śledzenia kodu jest jego „czas trwania” (czas między punktem początkowym i końcowym śledzenia), ale można również dodać niestandardowe metryki .

W swoim kodzie definiujesz początek i koniec niestandardowego śledzenia kodu za pomocą interfejsów API udostępnianych przez pakiet Performance Monitoring SDK.Niestandardowe śledzenie kodu można uruchomić w dowolnym momencie po ich utworzeniu i są one bezpieczne wątkowo.

Ponieważ domyślną metryką zbieraną dla tych śladów jest „czas trwania”, są one czasami nazywane „Śladami czasu trwania”.

Możesz wyświetlić dane z tych śladów na podkarcie Ślady niestandardowe tabeli śladów, która znajduje się na dole pulpitu nawigacyjnego Wydajność (dowiedz się więcej o korzystaniu z konsoli w dalszej części tej strony).

Domyślne atrybuty, niestandardowe atrybuty i niestandardowe metryki

W przypadku niestandardowych śladów kodu funkcja Performance Monitoring automatycznie rejestruje atrybuty domyślne (wspólne metadane, takie jak kraj, przeglądarka, adres URL strony itp.), dzięki czemu można filtrować dane śledzenia w konsoli Firebase. Możesz także dodawać i monitorować atrybuty niestandardowe (takie jak poziom gry lub właściwości użytkownika).

Możesz dalej skonfigurować niestandardowe śledzenie kodu, aby rejestrować niestandardowe metryki dla zdarzeń związanych z wydajnością, które występują w zakresie śledzenia. Na przykład możesz utworzyć niestandardową metrykę liczby trafień i chybień w pamięci podręcznej lub liczby przypadków, w których interfejs użytkownika przestaje odpowiadać przez zauważalny okres czasu.

Atrybuty niestandardowe i metryki niestandardowe są wyświetlane w konsoli Firebase obok atrybutów domyślnych i metryki domyślnej śledzenia.

Dodaj niestandardowe ślady kodu

Użyj interfejsu API śledzenia wydajności monitorowania, aby dodać niestandardowe ślady kodu w celu monitorowania określonego kodu aplikacji.

Zwróć uwagę na następujące kwestie:

  • Aplikacja może mieć wiele niestandardowych śladów kodu.
  • W tym samym czasie można uruchomić więcej niż jeden niestandardowy ślad kodu.
  • Nazwy dla niestandardowych śladów kodu muszą spełniać następujące wymagania: brak początkowego lub końcowego odstępu, brak początkowego znaku podkreślenia ( _ ), a maksymalna długość to 100 znaków.
  • Niestandardowe ślady kodu obsługują dodawanie niestandardowych metryk i niestandardowych atrybutów .

Aby rozpocząć i zatrzymać niestandardowe śledzenie kodu, otocz kod, który chcesz śledzić, wierszami kodu podobnymi do następującego:

Web version 9

import { trace } from "firebase/performance";

const t = trace(perf, "CUSTOM_TRACE_NAME");
t.start();

// Code that you want to trace 
// ...

t.stop();

Web version 8

const trace = perf.trace("CUSTOM_TRACE_NAME");
trace.start();

// Code that you want to trace 
// ...

trace.stop();

Dodaj niestandardowe ślady kodu za pomocą interfejsu API czasu użytkownika

Oprócz interfejsu Performance Monitoring Trace API możesz dodać niestandardowe ślady kodu, korzystając z natywnego interfejsu User Timing API przeglądarki. Czas trwania śledzenia mierzony przy użyciu tego interfejsu API jest automatycznie pobierany przez zestaw SDK monitorowania wydajności. Korzystanie z interfejsu API czasu użytkownika jest szczególnie przydatne, jeśli wolisz ładować zestaw SDK monitorowania wydajności asynchronicznie. Po zainicjowaniu SDK SDK zarejestruje pomiary, które miały miejsce przed jego załadowaniem.

Aby skorzystać z tej funkcji, owiń kod, który chcesz śledzić, znacznikami czasu użytkownika:

Web version 9

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

Web version 8

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

Zauważ, że performance w powyższym przykładzie odnosi się do obiektu window.performance przeglądarki.

Podczas korzystania z interfejsu User Timing API nie można dodawać niestandardowych metryk i atrybutów do niestandardowych śladów kodu. Użyj interfejsu API śledzenia wydajności monitorowania , jeśli chcesz dodać te elementy niestandardowe do niestandardowego śledzenia kodu.

Dodaj niestandardowe metryki do niestandardowych śladów kodu

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

Zwróć uwagę na następujące kwestie:

  • Nazwy metryk niestandardowych muszą spełniać następujące wymagania: brak początkowego lub końcowego odstępu, brak początkowego znaku podkreślenia ( _ ), a maksymalna długość to 100 znaków.
  • Każdy niestandardowy ślad kodu może zarejestrować do 32 metryk (w tym domyślną metrykę Czas trwania ).

Aby dodać niestandardowe dane, dodaj wiersz kodu podobny do poniższego za każdym razem, gdy wystąpi zdarzenie. Na przykład te niestandardowe dane zliczają zdarzenia związane z wydajnością, które występują w Twojej aplikacji.

Web version 9

import { trace } from "firebase/performance";

async function getInventory(inventoryIds) {
  const t = trace(perf, "inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  t.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  t.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  t.stop();

  return inventoryData;
}

Web version 8

async function getInventory(inventoryIds) {
  const trace = perf.trace("inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  trace.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  trace.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  trace.stop();

  return inventoryData;
}

Twórz niestandardowe atrybuty dla niestandardowych śladów kodu

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

Aby użyć atrybutów niestandardowych, dodaj do aplikacji kod, który definiuje atrybut i kojarzy go z określonym niestandardowym śladem kodu. Atrybut niestandardowy można ustawić w dowolnym momencie między rozpoczęciem śledzenia a zatrzymaniem śledzenia.

Zwróć uwagę na następujące kwestie:

  • Nazwy atrybutów niestandardowych muszą spełniać następujące wymagania: brak początkowych lub końcowych spacji, brak początkowego znaku podkreślenia ( _ ), a maksymalna długość to 32 znaki.

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

  • Nie należy używać atrybutów niestandardowych, które zawierają informacje umożliwiające osobistą identyfikację danej osoby w Google.

    Dowiedz się więcej o tych wskazówkach

Web version 9

import { trace } from "firebase/performance";

const t = trace(perf, "test_trace");
t.putAttribute("experiment", "A");

// Update scenario
t.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = t.getAttribute("experiment");

// Delete scenario
t.removeAttribute("experiment");

// Read attributes
const traceAttributes = t.getAttributes();

Web version 8

const trace = perf.trace("test_trace");
trace.putAttribute("experiment", "A");

// Update scenario
trace.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = trace.getAttribute("experiment");

// Delete scenario
trace.removeAttribute("experiment");

// Read attributes
const traceAttributes = trace.getAttributes();

Śledź, przeglądaj i filtruj dane dotyczące wydajności

Aby wyświetlić dane o wydajności w czasie rzeczywistym, upewnij się, że Twoja aplikacja korzysta z wersji SDK monitorowania wydajności, która jest zgodna z przetwarzaniem danych w czasie rzeczywistym. Dowiedz się więcej o danych o skuteczności w czasie rzeczywistym .

Śledź określone dane na swoim pulpicie nawigacyjnym

Aby dowiedzieć się, jak zyskują popularność kluczowe wskaźniki, dodaj je do tablicy wskaźników u góry pulpitu nawigacyjnego Skuteczność . Możesz szybko zidentyfikować regresje, obserwując zmiany z tygodnia na tydzień lub sprawdzając, czy ostatnie zmiany w kodzie poprawiają wydajność.

obraz tablicy wskaźników w panelu Monitorowania wydajności Firebase

Aby dodać dane do tablicy danych, wykonaj następujące czynności:

  1. Przejdź do panelu wydajności w konsoli Firebase.
  2. Kliknij pustą kartę danych, a następnie wybierz istniejące dane, które chcesz dodać do swojej tablicy.
  3. Kliknij na wypełnionej karcie danych, aby uzyskać więcej opcji, na przykład zastąpić lub usunąć dane.

Tablica metryk przedstawia zebrane dane metryk w czasie, zarówno w formie graficznej, jak i liczbowej zmiany procentowej.

Dowiedz się więcej o korzystaniu z pulpitu nawigacyjnego .

Zobacz ślady i ich dane

Aby wyświetlić ślady, przejdź do panelu wydajności w konsoli Firebase, przewiń w dół do tabeli śladów, a następnie kliknij odpowiednią podkartę. W tabeli wyświetlane są niektóre najważniejsze metryki dla każdego śledzenia, a listę można nawet sortować według procentowej zmiany określonej metryki.

Monitorowanie wydajności udostępnia stronę rozwiązywania problemów w konsoli Firebase, która przedstawia zmiany wskaźników, ułatwiając szybkie rozwiązywanie problemów z wydajnością i minimalizowanie ich wpływu na aplikacje i użytkowników. Możesz użyć strony rozwiązywania problemów, gdy dowiesz się o potencjalnych problemach z wydajnością, na przykład w następujących scenariuszach:

  • Wybierasz odpowiednie dane na pulpicie nawigacyjnym i zauważasz dużą deltę.
  • W tabeli śladów sortujesz, aby wyświetlić największe delty na górze, i widzisz znaczną zmianę procentową.
  • Otrzymasz powiadomienie e-mail z powiadomieniem o problemie z wydajnością.

Dostęp do strony rozwiązywania problemów można uzyskać w następujący sposób:

  • W panelu danych kliknij przycisk Wyświetl szczegóły danych .
  • Na dowolnej karcie danych wybierz => Wyświetl szczegóły . Strona rozwiązywania problemów wyświetla informacje o wybranym wskaźniku.
  • W tabeli śladów kliknij nazwę śladu lub dowolną wartość metryki w wierszu skojarzonym z tym śladem.
  • W powiadomieniu e-mail kliknij Zbadaj teraz .

Po kliknięciu nazwy śladu w tabeli śladów można przejść do bardziej interesujących metryk. Kliknij przycisk filtr , aby filtrować dane według atrybutów, na przykład:

obraz danych Firebase Performance Monitoring filtrowanych według atrybutów
  • Filtruj według adresu URL strony , aby wyświetlić dane dla określonej strony w witrynie
  • Filtruj według efektywnego typu połączenia, aby dowiedzieć się, jak połączenie 3G wpływa na Twoją aplikację
  • Filtruj według kraju , aby upewnić się, że lokalizacja bazy danych nie wpływa na określony region

Dowiedz się więcej o wyświetlaniu danych dla swoich śladów .

Następne kroki

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