Dodawanie niestandardowego monitorowania na potrzeby określonego kodu aplikacji


Performance Monitoring zbiera ślady, aby ułatwić Ci monitorowanie skuteczności aplikacji. Ślad to raport danych o skuteczności, który jest rejestrowany w aplikacji między 2 momentami w czasie.

Możesz tworzyć własne ścieżki, aby monitorować dane o wydajności powiązane z konkretnym kodem w aplikacji. Dzięki ścieżce niestandardowego kodu możesz mierzyć, ile czasu zajmuje aplikacji wykonanie określonego zadania lub zestawu zadań, np. wczytywanie zestawu obrazów lub wysyłanie zapytania do bazy danych.

Domyślnym wskaźnikiem niestandardowego śledzenia kodu jest jego „czas trwania” (czas między punkt początkowy i końcowy śledzenia), ale możesz dodać danych niestandardowych.

W kodzie definiujesz początek i koniec śledzenia niestandardowego kodu za pomocą interfejsów API dostępnych w pakiecie SDK Performance Monitoring. Ścieżki niestandardowego kodu można uruchomić w dowolnym momencie po ich utworzeniu i są one bezpieczne w wątku.

Jako że domyślne dane zbierane dla tych logów czasu to „duration”, są one czasem nazywany „logami czasu trwania”.

Dane z tych ścieżek możesz wyświetlać na karcie Ścieżki niestandardowe w tabeli ścieżek, która znajduje się u dołu panelu Skuteczność (więcej informacji o używaniu konsoli znajdziesz dalej na tej stronie).

Atrybuty domyślne, atrybuty niestandardowe i dane niestandardowe

W przypadku niestandardowych logów czasu Performance Monitoring automatycznie loguje się atrybuty domyślne (wspólne metadane, np. kraj, przeglądarka, adres URL strony itp.) aby można było przefiltrować dane logu czasu w konsoli Firebase. Ty może też dodawać i monitorować atrybuty niestandardowe. (np. poziom gry lub właściwości użytkownika).

Możesz dodatkowo skonfigurować niestandardowy log czasu, aby rejestrować danych niestandardowych do zdarzeń związanych ze skutecznością, występują w zakresie logu czasu. Możesz np. utworzyć dane niestandardowe o nazwie liczba trafień i braków w pamięci podręcznej lub liczba przypadków, gdy interfejs użytkownika nie odpowiada przez zauważalny okres.

Niestandardowe atrybuty i dane są wyświetlane w konsoli Firebase obok domyślnych atrybutów i domyślnych danych śledzenia.

Dodaj niestandardowe logi czasu kodu

Użyj Performance Monitoring interfejsu Trace API do dodania niestandardowych logów kodu, aby monitorować określony kod aplikacji.

Pamiętaj:

  • Aplikacja może mieć wiele niestandardowych logów czasu.
  • Możesz uruchamiać jednocześnie więcej niż 1 śledzenie kodu niestandardowego.
  • Nazwy niestandardowych logów czasu kodu muszą spełniać te wymagania: bez spacji na początku ani na końcu, bez znaku podkreślenia (_), a maksymalna długość to 100 znaków.
  • Niestandardowe logi czasu obsługują dodawanie niestandardowych danych atrybutów niestandardowych.

Aby rozpocząć i zatrzymać niestandardowy log czasu, zapakuj odpowiedni kod śledzić za pomocą wierszy kodu podobnych do tych:

Web

import { trace } from "firebase/performance";

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

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

t.stop();

Web

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

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

trace.stop();

Dodawanie niestandardowych logów czasu kodu za pomocą interfejsu User Timing API

Oprócz interfejsu Performance Monitoring Trace API możesz dodawać niestandardowe logi czasu kodu za pomocą natywna w przeglądarce Interfejs User Timing API. Czas trwania logu czasu mierzony za pomocą tego interfejsu API jest automatycznie pobierany przez Pakiet SDK Performance Monitoring. Korzystanie z interfejsu User Timing API jest szczególnie przydatne, jeśli wolisz asynchroniczne wczytywanie pakietu SDK Performance Monitoring. Po zainicjowaniu pakietu SDK będzie zapisywał pomiary, które miały miejsce przed jego wczytaniem.

Aby korzystać z tej funkcji, owiń kod, który chcesz śledzić, za pomocą znaczników User Timing:

Web

const performance = window.performance;

performance.mark("measurementStart");

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

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

Web

const performance = window.performance;

performance.mark("measurementStart");

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

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

Pamiętaj, że performance w powyższym przykładzie odnosi się do adresu window.performance obiekt.

Jeśli korzystasz z interfejsu User Timing API, nie możesz dodawać niestandardowych danych ani atrybutów do niestandardowe ślady kodu. Jeśli chcesz dodać te elementy do niestandardowego śledzenia kodu, użyj Performance MonitoringTrace API.

Dodawanie niestandardowych danych do niestandardowych logów kodu

Aby dodać do niestandardowych logów kodu dane niestandardowe, użyj Performance Monitoring Trace API.

Pamiętaj:

  • Nazwy danych niestandardowych muszą spełniać te wymagania: bez spacji na początku ani na końcu, bez znaku podkreślenia (_), a maksymalna długość to 100 znaków.
  • Każdy ślad niestandardowego kodu może rejestrować maksymalnie 32 rodzaje danych (w tym domyślne dane Czas trwania).

Aby dodać dane niestandardowe, dodaj wiersz kodu podobnego do tego za każdym razem, gdy wystąpi zdarzenie. Te dane niestandardowe zliczają np. zdarzeń związanych ze wydajnością aplikacji.

Web

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

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

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

Użyj Performance Monitoring Trace API , aby dodać niestandardowe atrybuty do niestandardowych logów czasu.

Aby używać atrybutów niestandardowych, dodaj do aplikacji kod, który definiuje atrybut i kojarzy go z określonym śladem kodu niestandardowego. 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:

    • Bez spacji na początku i na końcu, bez znaku podkreślenia (_) na początku
    • Brak pokoi
    • Maksymalna długość to 32 znaki
    • Dozwolone znaki w nazwie to A-Z, a-z i _.
  • Każdy ślad kodu niestandardowego może rejestrować maksymalnie 5 atrybutów niestandardowych.

  • Upewnij się, że atrybuty niestandardowe nie zawierają żadnych informacji umożliwiających identyfikację osoby przez Google.

    Więcej informacji o tych wytycznych

Web

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

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

Śledzenie, wyświetlanie i filtrowanie danych o skuteczności

Aby wyświetlić dane o skuteczności w czasie rzeczywistym, upewnij się, że aplikacja korzysta z raportu Wersja pakietu SDK do monitorowania, która jest zgodna z przetwarzaniem danych w czasie rzeczywistym. Więcej informacji na temat danych o skuteczności w czasie rzeczywistym

Śledzenie określonych danych w panelu

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

obraz tablicy danych w <span class=Panel Monitorowanie wydajności Firebase />

Aby dodać dane do panelu danych:

  1. Przejdź do Panel wydajności w konsoli Firebase.
  2. Kliknij pustą kartę danych, a potem wybierz istniejące dane, które chcesz dodać do tablicy.
  3. Kliknij na wypełnionej karcie danych, aby wyświetlić więcej opcji. np. zastąpienie lub usunięcie danych.

Panel wskaźników pokazuje zebrane dane na przestrzeni czasu zarówno w postaci graficznej, jak i liczbową zmianę procentową.

Dowiedz się więcej o korzystaniu z panelu.

Wyświetlanie ścieżek i ich danych

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

Performance Monitoring udostępnia w konsoli Firebase stronę rozwiązywania problemów, na której wyróżnione są zmiany danych, co ułatwia szybkie rozwiązywanie problemów z wydajnością i minimalizowanie ich wpływu na aplikacje i użytkowników. Strony rozwiązywania problemów możesz używać, gdy dowiesz się o potencjalnych problemach z wydajnością, na przykład w takich sytuacjach:

  • Gdy wybierasz odpowiednie dane na pulpicie, zauważasz dużą różnicę.
  • W tabeli śladów sortowanie odbywa się w taki sposób, aby największe wartości różnicy były wyświetlane u góry. Widać też znaczną zmianę procentową.
  • Otrzymasz e-maila z powiadomieniem o problemie z wydajnością.

Stronę rozwiązywania problemów możesz otworzyć na kilka sposobów:

  • W panelu wskaźników kliknij przycisk Wyświetl szczegóły wskaźnika.
  • Na dowolnej karcie danych wybierz => Wyświetl szczegóły. Na stronie rozwiązywania problemów wyświetlają się informacje o wybranych danych.
  • W tabeli logów czasu kliknij nazwę logu czasu lub dowolną wartość danych w wierszu, który jest z nim powiązany. śledzić.
  • W e-mailu z powiadomieniem kliknij Zbadaj.

Po kliknięciu nazwy logu czasu w tabeli logów czasu możesz przeanalizować dane a interesem publicznym. Aby filtrować dane według atrybutu, kliknij przycisk Filtr, na przykład:

obraz <span class=Filtrowanie danych Monitora wydajności Firebase według atrybutu />
  • Filtrowanie według adresu URL strony w celu wyświetlania danych dotyczących konkretnej strony w witrynie
  • Filtruj według efektywnego typu połączenia, aby zobaczyć, jak połączenie 3G wpływa na aplikacja
  • Filtruj według kraju, aby sprawdzić, czy lokalizacja bazy danych nie ma wpływu na konkretny region

Więcej informacji o wyświetlanie danych dla ślady czasu.

Następne kroki

  • Więcej informacji o za pomocą atrybutów, by analizować dane o skuteczności.

  • Dowiedz się więcej o tym, śledź problemy ze skutecznością w konsoli Firebase.

  • Skonfiguruj alerty dotyczące zmian kodu, które pogarszają działanie aplikacji. Możesz na przykład skonfigurować alert e-mailowy dla swojego zespołu, jeśli czas trwania określonego śledzenia kodu niestandardowego przekroczy ustawiony przez Ciebie próg.