Dodaj niestandardowe monitorowanie dla określonego kodu aplikacji

Monitorowanie wydajności zbiera ślady, które pomogą Ci monitorować wydajność aplikacji. Ślad to raport danych dotyczących 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. Z odrobiną kodu niestandardowego można zmierzyć, jak długo trwa swoją aplikację do wykonania zadania specyficzne lub zbiór zadań, na przykład ładowania zestawu obrazów lub zapytań do bazy danych.

Domyślną metryki dla śladu niestandardowego kodu jest jego „czas” (czas pomiędzy uruchamiania i zatrzymywania punktów śladu), ale można dodać niestandardowe dane, jak również.

W swoim kodzie definiujesz początek i koniec niestandardowego śledzenia kodu za pomocą interfejsów API udostępnianych przez pakiet Performance Monitoring SDK.ślady niestandardowy kod może zostać uruchomiony w każdej chwili po tym, jak zostały stworzone i są bezpieczne dla wątków.

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

Możesz przeglądać dane z tych śladów w ślady niestandardowe podkarty stołu ślady, które jest w dolnej części deski rozdzielczej wydajność (Więcej informacji na temat korzystania z konsoli później na tej stronie).

Domyślne atrybuty, niestandardowe atrybuty i niestandardowe metryki

śladów kodu niestandardowego, Performance Monitoring automatycznie rejestruje domyślne atrybuty (wspólne metadane takiego kraju, przeglądarce adresu URL strony, etc.), tak aby można filtrować dane dla śladu w konsoli Firebase. Można również dodawać i monitor atrybuty niestandardowe (takie jak poziom gry lub właściwości użytkownika).

Można dodatkowo skonfigurować ślad niestandardowy kod do rejestrowania niestandardowych danych dla związanych z wydajnością zdarzeń występujących w zakres ślad za. 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 Monitorowanie wydajności Śledzenie API dodać ślady niestandardowego kodu do monitorowania specyficznego 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 śladów niestandardowy kod musi spełniać następujące wymagania: nie prowadzące lub końcowe białe znaki, nie prowadząc podkreślenia ( _ znaków), a maksymalna długość to 100 znaków.
  • Ślady niestandardowego kodu dodając wsparcie niestandardowe dane i atrybuty niestandardowe .

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

W uzupełnieniu do monitorowania wydajności śledzenia interfejsu API, można dodać własne ślady kodu przy użyciu przeglądarki rodzimego Timing użytkownika API . 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, opakuj 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");

Należy pamiętać, że performance w przykładzie powyżej odnosi się do przeglądarki window.performance obiektu.

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

Dodaj niestandardowe metryki do niestandardowych śladów kodu

Użyj Monitorowanie wydajności śledzenia interfejsu API , aby dodać niestandardowe dane do śladów kodu niestandardowego.

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

  • Nazwy niestandardowych danych musi spełniać następujące wymagania: nie prowadzące lub końcowe białe znaki, nie prowadząc podkreślenia ( _ znaków), a maksymalna długość to 100 znaków.
  • Każdy ślad kodu niestandardowego można nagrać do 32 wskaźników (w tym domyślny czas metrycznych).

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 Monitorowanie wydajności śledzenia interfejsu API , aby dodać atrybuty niestandardowe do śladów kodu niestandardowego.

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 musi spełniać następujące wymagania: nie prowadzące lub końcowe białe znaki, nie prowadząc podkreślenia ( _ znaków), a maksymalna długość to 32 znaków.

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

  • Nie należy używać atrybutów niestandardowych zawierających 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ę, w jaki sposób kluczowe wskaźniki są trendy, dodaj je do swojej metryki pokładzie w górnej części deski rozdzielczej Wydajność. 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 rady metryki, przejdź do deski rozdzielczej wydajności w konsoli Firebase, a następnie kliknij kartę Dashboard. Kliknij pustą kartę danych, a następnie wybierz istniejące dane, które chcesz dodać do swojej tablicy. Kliknij na zaludnionym karty metrycznych więcej opcji, jak wymienić lub usunąć dane.

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

Więcej informacji na temat korzystania z deski rozdzielczej .

Zobacz ślady i ich dane

Aby wyświetlić swoje ślady, przejdź do deski rozdzielczej wydajności w konsoli Firebase przewiń do stołu ślady, a następnie kliknij odpowiednią kartę podrzędną. W tabeli wyświetlane są niektóre najważniejsze metryki dla każdego śledzenia, a listę można nawet posortować według procentowej zmiany określonej metryki.

Jeśli klikniesz nazwę śladu w tabeli śladów, możesz przechodzić przez różne ekrany, aby eksplorować ślad i przeanalizować interesujące metryki. Na większości stron, można użyć filtra przycisku (lewym górnym rogu ekranu), aby filtrować dane według atrybutu, na przykład:

obraz danych Firebase Performance Monitoring filtrowanych według atrybutów
  • Przez filtr URL strony do przeglądania danych na stronie konkretnej witryny
  • Filtr efektywna typu połączenia, aby dowiedzieć się, jak wpływa połączenie 3G swoją aplikację
  • Filtruj według kraju, aby upewnić się, że lokalizacja bazy danych nie wpływa na specyficzny region

Więcej informacji na temat wyświetlania danych dla swoich śladów .

Następne kroki