Dodaj niestandardowe monitorowanie dla określonego kodu aplikacji

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 ślady 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:

Wersja internetowa 9

import { trace } from "firebase/performance";

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

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

t.stop();

Wersja internetowa 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:

Wersja internetowa 9

const performance = window.performance;

performance.mark("measurementStart");

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

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

Wersja internetowa 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.

Wersja internetowa 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;
}

Wersja internetowa 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

Wersja internetowa 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();

Wersja internetowa 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 .

Ś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ć metrykę do tablicy metryk, przejdź do pulpitu nawigacyjnego Wydajność w konsoli Firebase, a następnie kliknij kartę Pulpit nawigacyjny . Kliknij pustą kartę danych, a następnie wybierz istniejące dane, które chcesz dodać do swojej tablicy. Kliknij na wypełnionej karcie danych, aby uzyskać więcej opcji, takich jak zastąpienie lub usunięcie danych.

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.

Jeśli klikniesz nazwę śladu w tabeli śladów, możesz następnie przejrzeć różne ekrany, aby zbadać ślad i przejść do metryk, które Cię interesują. Na większości stron możesz użyć przycisku filtr (w lewym górnym rogu ekranu), 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.