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.W przypadku aplikacji na Androida można również monitorować określone metody za pomocą adnotacji @AddTrace .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 monitorowanie wydajności automatycznie rejestruje atrybuty domyślne (wspólne metadane, takie jak wersja aplikacji, kraj, urządzenie 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 poniższego (w tym przykładzie użyto niestandardowej nazwy śledzenia test_trace ):

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace

myTrace.stop();

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace

myTrace.stop()

(Opcjonalnie) Monitoruj określone metody za pomocą @AddTrace

Aplikacje na Androida obsługują również adnotację @AddTrace do instrumentowania niestandardowych śladów kodu. Korzystając z tej funkcji, śledzenie rozpoczyna się na początku określonej metody i zatrzymuje się po zakończeniu metody, w tym wszystkich wywołanych przez metodę.

Na przykład można utworzyć niestandardowy ślad kodu o nazwie onCreateTrace , który jest uruchamiany po wywołaniu metody onCreate() .

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@Override
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
}

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 ta niestandardowa metryka zlicza zdarzenia związane z wydajnością, które występują w Twojej aplikacji, takie jak trafienia i chybienia w pamięci podręcznej (przy użyciu przykładowych nazw zdarzeń item_cache_hit i item_cache_miss oraz przyrostu 1 ).

Java

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace (and log custom metrics)
Item item = cache.fetch("item");
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1);
} else {
    myTrace.incrementMetric("item_cache_miss", 1);
}

myTrace.stop();

Kotlin+KTX

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace (and log custom metrics)
val item = cache.fetch("item")
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1)
} else {
    myTrace.incrementMetric("item_cache_miss", 1)
}

myTrace.stop()

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

Użyj interfejsu API Performance Monitoring Trace , 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

Java

Trace trace = FirebasePerformance.getInstance().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();

Kotlin+KTX

Firebase.performance.newTrace("test_trace").trace {
    // Update scenario.
    putAttribute("experiment", "A")

    // Reading scenario.
    val experimentValue = getAttribute("experiment")

    // Delete scenario.
    removeAttribute("experiment")

    // Read attributes.
    val traceAttributes = this.attributes
}

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

Ś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 wersji aplikacji , aby wyświetlić dane o poprzedniej lub najnowszej wersji
  • Filtruj według urządzenia , aby dowiedzieć się, jak starsze urządzenia obsługują 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.

  • Przeglądaj szczegółowe raporty sesji użytkowników, w których możesz zobaczyć określony ślad w kontekście osi czasu innych śladów zebranych podczas tej samej sesji.