Performance Monitoring używa śladów do zbierania danych o monitorowanych procesach w Twojej aplikacji. Ślad to raport zawierający dane zarejestrowane między 2 punktami w czasie w Twojej aplikacji.
W przypadku wszystkich typów aplikacji Performance Monitoring automatycznie zbiera ślad każdego żądania sieciowego wysyłanego przez Twoją aplikację. Jest to ślad żądania sieciowego HTTP/S. Te ślady zbierają dane o czasie między wysłaniem przez aplikację żądania do punktu końcowego usługi a otrzymaniem odpowiedzi z tego punktu. W przypadku każdego punktu końcowego, do którego Twoja aplikacja wysyła żądanie, Performance Monitoring rejestruje kilka danych:
Czas odpowiedzi – czas między wysłaniem żądania a pełnym otrzymaniem odpowiedzi.
Rozmiar ładunku odpowiedzi – rozmiar w bajtach ładunku sieciowego pobranego przez aplikację.
Rozmiar ładunku żądania – rozmiar w bajtach ładunku sieciowego przesłanego przez aplikację.
Odsetek powodzeń – odsetek pomyślnych odpowiedzi (kody odpowiedzi z zakresu 100–399) w porównaniu z łączną liczbą odpowiedzi.
Dane z tych śladów możesz wyświetlać na podkarcie Żądania sieciowe w tabeli śladów, która znajduje się u dołu panelu Skuteczność (więcej informacji o korzystaniu z konsoli znajdziesz poniżej).
Performance Monitoring automatycznie zbiera dane o żądaniach sieciowych, które korzystają z tych bibliotek sieciowych:
OkHttp3, w szczególności klient HTTP w wersji 3.x.x.
URLConnection w Javie, w szczególności HttpURLConnection i HttpsURLConnection
-
Jeśli używasz tej biblioteki, przeczytaj informacje o usunięciu klienta Apache HTTP i wycofaniu klienta Apache HTTP.
Dostosowywanie agregacji danych żądań sieciowych
Oprócz gotowych narzędzi i agregacji danych żądań sieciowych Performance Monitoring obsługuje też te opcje:
- Ręczne instrumentowanie śladów żądań sieciowych: gotowe monitorowanie obejmuje większość żądań sieciowych Twojej aplikacji. Niektóre żądania mogą jednak nie być raportowane lub możesz używać innej biblioteki do wysyłania żądań sieciowych. W takich przypadkach możesz użyć interfejsu Performance Monitoring API, aby ręcznie instrumentować niestandardowe ślady żądań sieciowych.
- Agregowanie danych według niestandardowych wzorców adresów URL: jeśli są określone adresy URL, których Firebase nie rejestruje za pomocą automatycznego dopasowywania wzorców adresów URL, możesz utworzyć niestandardowe wzorce adresów URL aby monitorować określony zestaw adresów URL w czasie.
- Dostosowywanie sposobu obliczania odsetka powodzeń: czasami w przypadku niektórych punktów końcowych interfejsu API oczekiwany jest kod błędu lub jest on już obsługiwany w Twojej aplikacji. W takich przypadkach możesz skonfigurować sposób obliczania odsetka powodzeń i dokładniej monitorować odsetek powodzeń wywołań sieciowych aplikacji.
Agregacja danych według wzorców adresów URL
Firebase Performance Monitoring automatycznie agreguje dane podobnych żądań sieciowych aby pomóc Ci zrozumieć trendy w zakresie skuteczności żądań sieciowych.
W przypadku każdego żądania Firebase sprawdza, czy adres URL żądania sieciowego pasuje do wzorca adresu URL. Jeśli adres URL żądania pasuje do wzorca adresu URL, Firebase automatycznie agreguje dane żądania według tego wzorca. Firebase wyświetla wzorce adresów URL i ich zagregowane dane na karcie Sieć w panelu Skuteczność konsoli Firebase.
Co to jest wzorzec adresu URL?
Wzorzec adresu URL zawiera domenę oraz wzorzec, który może pasować do ścieżki adresu URL, np. example.com/*/animals/**.
Wzorce adresów URL mogą zawierać te segmenty ścieżki:
- zwykły tekst – pasuje do dokładnego ciągu;
*– pasuje do dowolnego ciągu w jednym segmencie ścieżki;**– pasuje do dowolnego sufiksu ścieżki.
Wzorce adresów URL mogą być:
- wzorcami wygenerowanymi przez Firebase – nazywanymi automatycznymi wzorcami adresów URL
- wzorcami zdefiniowanymi przez użytkownika – nazywanymi niestandardowymi wzorcami adresów URL.
Na przykład do wzorca adresu URL example.com/*/animals/** mogą pasować te żądania adresów URL:
example.com/singapore/animalsexample.com/australia/animals/spidersexample.com/australia/animals/marsupials/koala.png
Domena wzorca adresu URL może też zawierać * jako pierwszy segment,
np. *.example.com/*/fruits/**.
Firebase mapuje każde żądanie tylko na 1 wzorzec adresu URL. Jeśli masz skonfigurowane jakiekolwiek niestandardowe wzorce adresów URL, Firebase najpierw próbuje dopasować adresy URL żądań do tych wzorców. Jeśli Firebase nie znajdzie pasującego niestandardowego URL-a, dopasuje adres URL żądania do najbardziej reprezentatywnego automatycznego wzorca adresu URL. Więcej informacji o automatycznych i niestandardowych wzorcach adresów URL znajdziesz w kolejnych sekcjach.
Automatyczne wzorce adresów URL
Bez żadnej konfiguracji z Twojej strony Performance Monitoring próbuje odzwierciedlić najnowsze zachowania związane z użytkowaniem aplikacji, dopasowując żądania aplikacji do automatycznych wzorców adresów URL.
Jak działa automatyczne dopasowywanie wzorców adresów URL?
Firebase dopasowuje każde żądanie do najbardziej reprezentatywnego automatycznego wzorca adresu URL który został wygenerowany na podstawie żądań wysłanych przez Twoją aplikację. Pamiętaj jednak, że Firebase najpierw próbuje dopasować adresy URL żądań do skonfigurowanych niestandardowych wzorców adresów URL.
Oto podstawowy przykład tego, jak Firebase próbuje dopasować żądania do najbardziej reprezentatywnego automatycznego wzorca adresu URL Twojej aplikacji.
Twoja aplikacja wysyła wiele żądań do adresów URL takich jak:
example.com/germany/animals/bearsexample.com/germany/animals/birdsexample.com/germany/cars
Firebase stwierdza, że
example.com/germany/**to typowy wzorzec żądań w Twojej aplikacji, i dodaje go jako automatyczny wzorzec adresu URL w Twoim projekcie.W przypadku nowych pasujących żądań do tego wzorca adresu URL Firebase agreguje dane żądań według automatycznego wzorca adresu URL
example.com/germany/**.Po tygodniu większość żądań Twojej aplikacji jest wysyłana do adresów URL
example.com/germany/animals/bearsiexample.com/germany/animals/birds. Firebase generuje więc bardziej reprezentatywny wzorzec adresu URLexample.com/germany/animals/**.W przypadku nowych pasujących żądań do tego nowego wzorca adresu URL Firebase agreguje dane żądań tylko według nowego wzorca adresu URL. Firebase nadal agreguje dane żądań do
example.com/germany/carswedługexample.com/germany/**.Jednak w ciągu kilku następnych tygodni liczba żądań Twojej aplikacji do
example.com/germany/animals/bearsiexample.com/germany/animals/birdsznacznie się zmniejsza. Firebase stwierdza, żeexample.com/germany/animals/**nie jest reprezentatywny dla najnowszych zachowań związanych z użytkowaniem aplikacji, więc zaczyna dopasowywać te 2 żądania z powrotem doexample.com/germany/**.Firebase nie agreguje już danych żądań według
example.com/germany/animals/**, ponieważ nie jest to już najbardziej reprezentatywny automatyczny wzorzec adresu URL.
Automatyczne dopasowywanie wzorców adresów URL jest dynamiczne, dlatego pamiętaj o tych kwestiach:
Nowe wzorce adresów URL nie mają wpływu na dopasowania i zagregowane dane z poprzednich żądań. Firebase nie agreguje danych żądań wstecznie.
Nowe wzorce adresów URL mają wpływ tylko na przyszłe żądania. Firebase mapuje każde nowe żądanie na najbardziej reprezentatywny automatyczny wzorzec adresu URL. Pamiętaj, jednak, że Firebase najpierw próbuje dopasować adresy URL żądań do skonfigurowanych niestandardowych wzorców adresów URL.
Wyświetlanie automatycznych wzorców adresów URL i ich danych
Firebase wyświetla wszystkie wzorce adresów URL i ich zagregowane dane na podkarcie Żądania sieciowe w tabeli śladów, która znajduje się u dołu panelu Skuteczność w konsoli Firebase.
Możesz zobaczyć wzorce adresów URL z etykietą Nieskategoryzowane. Są to „ogólne” automatyczne wzorce adresów URL, według których Firebase może agregować dane żądań, które nie pasują do żadnego bardziej szczegółowego wzorca adresu URL.
Gdy skończy się okres przechowywania danych zagregowanych według wzorca adresu URL, Firebase usuwa te dane z tego wzorca. Jeśli wygasną wszystkie dane zagregowane według automatycznego wzorca adresu URL, Firebase usunie ten wzorzec z konsoli Firebase.
Niestandardowe wzorce adresów URL
Możesz utworzyć niestandardowe wzorce adresów URL , aby monitorować określone wzorce adresów URL, których Firebase nie rejestruje za pomocą automatycznego dopasowywania wzorców adresów URL. Możesz na przykład użyć niestandardowego wzorca adresu URL, aby rozwiązać problem z konkretnym adresem URL lub monitorować określony zestaw adresów URL w czasie.
Więcej informacji znajdziesz w artykule Tworzenie niestandardowych wzorców adresów URL.
Śledzenie, wyświetlanie i filtrowanie danych o skuteczności
Aby wyświetlać dane o skuteczności w czasie rzeczywistym, upewnij się, że Twoja aplikacja używa pakietu SDK do monitorowania wydajności w wersji zgodnej z przetwarzaniem danych w czasie rzeczywistym. Więcej informacji o danych o skuteczności w czasie rzeczywistym.
Śledzenie konkretnych danych w panelu
Aby dowiedzieć się, jak zmieniają się Twoje najważniejsze dane, dodaj je do tablicy danych u góry panelu Skuteczność. Możesz szybko zidentyfikować regresje, sprawdzając zmiany w porównaniu z poprzednim tygodniem lub sprawdzić, czy ostatnie zmiany w kodzie poprawiają skuteczność.
Panel Monitorowania wydajności Firebase" />
Aby dodać dane do tablicy danych:
- Otwórz panel Skutecznośćw konsoli Firebase.
- Kliknij pustą kartę danych, a następnie wybierz istniejące dane, które chcesz dodać do tablicy.
- Aby wyświetlić więcej opcji, np. zastąpienie lub usunięcie danych, kliknij na wypełnionej karcie danych.
Tablica danych pokazuje zebrane dane w czasie, zarówno w postaci graficznej, jak i jako a procentową zmianę liczbową.
Więcej informacji o korzystaniu z panelu.
Wyświetlanie śladów i ich danych
Aby wyświetlić ślady, otwórz panel Skuteczność w konsoli Firebase, przewiń w dół do tabeli śladów, a następnie kliknij odpowiednią podkartę. Tabela wyświetla najważniejsze dane każdego śladu. Możesz nawet posortować listę według procentowej zmiany konkretnych danych.
Performance Monitoring udostępnia w konsoli Firebase stronę rozwiązywania problemów, która wyróżnia 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ą, np. w tych sytuacjach:
- Wybierasz odpowiednie dane w panelu i zauważasz dużą różnicę.
- W tabeli śladów sortujesz dane tak, aby największe różnice były wyświetlane u góry, i widzisz znaczną zmianę procentową.
- Otrzymujesz e-maila z powiadomieniem o problemie z wydajnością.
Stronę rozwiązywania problemów możesz otworzyć na te sposoby:
- W panelu danych kliknij przycisk Wyświetl szczegóły danych.
- Na dowolnej karcie danych kliknij
=> Wyświetl szczegóły . Na stronie rozwiązywania problemów wyświetlają się informacje o wybranych danych. - W tabeli śladów kliknij nazwę śladu lub dowolną wartość danych w wierszu powiązanym z tym śladem.
- W e-mailu z powiadomieniem kliknij Sprawdź teraz.
Gdy klikniesz nazwę śladu w tabeli śladów, możesz przejść do szczegółów interesujących Cię danych.
Dane Monitorowania wydajności Firebase filtrowane według atrybutu" />
- Filtruj według Wersji aplikacji, aby wyświetlać 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 sprawdzić, czy lokalizacja bazy danych nie wpływa na konkretny region
Więcej informacji o wyświetlaniu danych śladów.
Następne kroki
Więcej informacji o używaniu atrybutów do analizowania danych o skuteczności.
Więcej informacji o śledzeniu problemów z wydajnością w Firebase konsoli.
Skonfiguruj alerty dotyczące żądań sieciowych, które pogarszają wydajność Twojej aplikacji. Możesz na przykład skonfigurować e-maila z powiadomieniem dla zespołu, jeśli czas odpowiedzi na konkretny wzorzec adresu URL przekroczy ustawiony przez Ciebie próg.
- Wyświetlaj szczegółowe raporty sesji użytkowników, w których możesz zobaczyć konkretny ślad w kontekście czasowym innych śladów zebranych podczas tej samej sesji.