Więcej informacji o danych dotyczących wydajności żądań sieciowych HTTP/S (dowolna aplikacja)


Performance Monitoring używa śladów do zbierania danych o monitorowanych procesach w aplikacji. Ślad to raport zawierający dane zarejestrowane między 2 punktami w czasie w aplikacji.

W przypadku wszystkich typów aplikacji Performance Monitoring automatycznie zbiera log czasu dla każdego żądania sieciowego wysyłanego przez aplikację. Jest to tzw. log czasu żądań sieciowych HTTP/S. Te logi czasu zbierają dane o czasie, jaki upływa od wysłania przez aplikację żądania do punktu końcowego usługi do momentu, gdy odpowiedź z tego punktu końcowego jest kompletna. W przypadku każdego punktu końcowego, do którego aplikacja wysyła żądanie, Performance Monitoring rejestruje kilka danych:

  • Czas odpowiedzi – czas od przesłania żądania do momentu otrzymania pełnej odpowiedzi.

  • Rozmiar ładunku odpowiedzi – rozmiar w bajtach ładunku sieciowego pobranego przez aplikację.

  • Rozmiar ładunku żądania – rozmiar w bajtach ładunku sieciowego przesłanego przez aplikację.

  • Wskaźnik sukcesu – odsetek pomyślnych odpowiedzi (kody odpowiedzi w zakresie 100–399) w porównaniu z łączną liczbą odpowiedzi.

Dane z tych logów czasu możesz wyświetlić na podkarcie Żądania sieciowe w tabeli logów czasu, która znajduje się u dołu panelu Wydajność (więcej informacji o korzystaniu z konsoli znajdziesz w dalszej części tej strony).

Dostosowywanie agregacji danych żądań sieciowych

Oprócz gotowych narzędzi i agregacji danych dotyczących żądań sieciowych Performance Monitoring obsługuje też te opcje:

  • Ręcznie instrumentuj logi czasu żądań sieciowych: gotowe monitorowanie obejmuje większość żądań sieciowych 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 API Performance Monitoring, aby ręcznie instrumentować niestandardowe logi czasu żądań sieciowych.
  • Zbieranie danych na podstawie niestandardowych wzorców adresów URL: jeśli Firebase nie rejestruje określonych adresów URL 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 na przestrzeni czasu.
  • Dostosuj sposób obliczania wskaźnika sukcesu: czasami w przypadku niektórych punktów końcowych interfejsu API oczekiwany jest kod błędu lub jest on już obsługiwany w aplikacji. W takich przypadkach możesz skonfigurować sposób obliczania wskaźnika sukcesu i dokładniej monitorować wskaźnik sukcesu wywołań sieciowych aplikacji.

Agregacja danych w ramach wzorców adresów URL

Firebase Performance Monitoring automatycznie agreguje dane dotyczące podobnych żądań sieciowych, aby ułatwić Ci zrozumienie trendów w wydajnoś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 w ramach wzorca adresu URL. Firebase wyświetla wzorce adresów URL i ich dane zbiorcze na karcie Sieć w panelu Wydajność w konsoli Firebase.

Czym jest wzorzec adresu URL?

Wzorzec adresu URL zawiera domenę oraz wzorzec, który może pasować do ścieżki adresu URL, na przykład: example.com/*/animals/**.

  • Wzorce adresów URL mogą zawierać te segmenty ścieżki:

    • zwykły tekst – dopasowuje dokładny ciąg znaków;
    • * – pasuje do dowolnego ciągu znaków w pojedynczym segmencie ścieżki.
    • ** – pasuje do dowolnego sufiksu ścieżki.
  • Wzorce adresów URL mogą być:

Na przykład: każde z tych żądań adresu URL może pasować do wzorca adresu URL example.com/*/animals/**.

  • example.com/singapore/animals
  • example.com/australia/animals/spiders
  • example.com/australia/animals/marsupials/koala.png

Domena wzorca adresu URL może też zawierać * jako pierwszy segment, na przykład: *.example.com/*/fruits/**.

Firebase mapuje każde żądanie na tylko 1 wzorzec adresu URL. Jeśli masz skonfigurowane niestandardowe wzorce adresów URL, Firebase najpierw próbuje dopasować adresy URL żądań do tych wzorców. Jeśli Firebase nie znajdzie pasującego wzorca niestandardowego adresu URL, dopasuje adres URL żądania do najbardziej reprezentatywnego wzorca automatycznego adresu URL. Więcej informacji o automatycznych i niestandardowych wzorcach adresów URL znajdziesz w sekcjach poniżej.

Automatyczne wzorce adresów URL

Bez żadnej konfiguracji z Twojej strony Performance Monitoring próbuje odzwierciedlić najnowsze zachowanie aplikacji, dopasowując jej żądania 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ł utworzony na podstawie żądań wysłanych przez aplikację. Pamiętaj jednak, że Firebase najpierw próbuje dopasować adresy URL żądań do skonfigurowanych niestandardowych wzorców adresów URL.

Poniżej znajdziesz podstawowy przykład tego, jak Firebase próbuje dopasować żądania do najbardziej reprezentatywnego automatycznego wzorca adresu URL w aplikacji.

  1. Twoja aplikacja wysyła wiele żądań do adresów URL takich jak:

    • example.com/germany/animals/bears
    • example.com/germany/animals/birds
    • example.com/germany/cars

    Firebase określa, że example.com/germany/** to typowy wzorzec żądania w Twojej aplikacji, i dodaje go jako automatyczny wzorzec adresu URL w projekcie.

    W przypadku nowych żądań pasujących do tego wzorca adresu URL Firebase agreguje dane żądań w ramach automatycznego wzorca adresu URL example.com/germany/**.

  2. Po tygodniu większość żądań aplikacji jest wysyłana do example.com/germany/animals/bears i example.com/germany/animals/birds. Dlatego Firebase tworzy bardziej reprezentatywny wzorzec adresu URL: example.com/germany/animals/**.

    W przypadku nowych dopasowanych żądań do tego nowego wzorca adresu URL Firebase agreguje dane żądań tylko w ramach nowego wzorca adresu URL. Firebase nadal zbiera dane zbiorcze dotyczące żądań do example.com/germany/cars w ramach example.com/germany/**.

  3. Jednak w ciągu kilku kolejnych tygodni liczba żądań wysyłanych przez aplikację do example.com/germany/animals/bears i example.com/germany/animals/birds znacznie spada. Firebase stwierdza, że example.com/germany/animals/** nie odzwierciedla najnowszego sposobu korzystania z aplikacji, więc zaczyna ponownie dopasowywać te 2 żądania do example.com/germany/**.

    Firebase nie agreguje żadnych dalszych danych żądań w ramach 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 dane zbiorcze z poprzednich żądań. Firebase nie agreguje ponownie danych żądań z wcześniejszego okresu.

  • 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 wzorców niestandardowych adresów URL.

Wyświetlanie automatycznych wzorców adresów URL i powiązanych z nimi danych

Firebase wyświetla wszystkie wzorce adresów URL i ich dane zbiorcze na podkarcie Żądania sieciowe w tabeli logów czasu, która znajduje się u dołu panelu Wydajność w konsoli Firebase.

Możesz zobaczyć wzorce adresów URL z etykietą Bez kategorii. Są to „ogólne” automatyczne wzorce adresów URL, w ramach których Firebase może agregować dane dotyczące żądań, które nie pasują do żadnego bardziej szczegółowego wzorca adresu URL.

Gdy okres przechowywania danych dobiegnie końca w przypadku danych zagregowanych w ramach wzorca adresu URL, Firebase usunie te dane ze wzorca adresu URL. Jeśli wszystkie dane zagregowane w ramach automatycznego wzorca adresu URL wygasną, Firebase usunie ten wzorzec z konsoli Firebase.

Niestandardowe wzorce adresów URL

Możesz utworzyć niestandardowe wzorce adresów URL, aby monitorować konkretne wzorce adresów URL, których Firebase nie przechwytuje 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 na przestrzeni czasu.

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 korzysta z wersji pakietu SDK monitorowania skuteczności, która jest zgodna 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ę, jakie są trendy dotyczące kluczowych danych, dodaj je do tablicy danych u góry panelu Skuteczność. Możesz szybko zidentyfikować regresje, sprawdzając zmiany z tygodnia na tydzień, lub sprawdzić, czy ostatnie zmiany w kodzie poprawiają wydajność.

obraz panelu danych w <span class=Panel monitorowania skuteczności w Firebase" />

Aby dodać dane do panelu danych, wykonaj te czynności:

  1. Otwórz panel Wydajność w konsoli Firebase.
  2. Kliknij pustą kartę danych, a potem wybierz istniejące dane, które chcesz dodać do tablicy.
  3. Kliknij na karcie danych, aby wyświetlić więcej opcji, np. zastąpić lub usunąć dane.

Panel danych pokazuje zebrane dane w czasie, zarówno w formie graficznej, jak i w postaci liczbowej zmiany procentowej.

Dowiedz się więcej o korzystaniu z panelu.

Wyświetlanie logów czasu i ich danych

Aby wyświetlić logi czasu, otwórz panel Wydajność w konsoli Firebase, przewiń w dół do tabeli logów czasu i kliknij odpowiednią podkartę. Tabela zawiera niektóre najważniejsze dane dotyczące każdego śladu. Możesz nawet posortować listę według zmiany procentowej konkretnych danych.

Performance Monitoring udostępnia w konsoli Firebase stronę rozwiązywania problemów, na której wyróżnione są zmiany wskaźników. Dzięki temu możesz szybko rozwiązywać problemy z wydajnością i minimalizować ich wpływ 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 logów czasu sortujesz dane, aby wyświetlić największe delty u góry, i widzisz znaczną zmianę procentową.
  • Otrzymujesz alert e-mail 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świetlą się informacje o wybranym wskaźniku.
  • W tabeli logów czasu kliknij nazwę logu czasu lub dowolną wartość danych w wierszu powiązanym z tym logiem czasu.
  • W alercie e-mail kliknij Zbadaj teraz.

Gdy klikniesz nazwę logu czasu w tabeli logów czasu, możesz przejść do interesujących Cię danych. Kliknij przycisk Filtruj, aby przefiltrować dane według atrybutu, na przykład:

obraz przedstawiający <span class=Dane monitorowania skuteczności w Firebase filtrowane według atrybutu" />
  • Filtruj według wersji aplikacji, aby wyświetlić dane o poprzedniej lub najnowszej wersji.
  • Aby dowiedzieć się, jak starsze urządzenia radzą sobie z Twoją aplikacją, użyj filtra Urządzenie.
  • Filtruj według kraju, aby upewnić się, że lokalizacja bazy danych nie wpływa na konkretny region.

Dowiedz się więcej o wyświetlaniu danych logów czasu.

Następne kroki

  • Dowiedz się więcej o używaniu atrybutów do analizowania danych o skuteczności.

  • Dowiedz się więcej o śledzeniu problemów z wydajnością w konsoli Firebase.

  • Skonfiguruj alerty dotyczące żądań sieciowych, które obniżają wydajność aplikacji. Możesz na przykład skonfigurować alert e-mail dla swojego zespołu, jeśli czas odpowiedzi na określony wzorzec adresu URL przekroczy ustawiony przez Ciebie próg.

  • Wyświetlanie szczegółowych raportów o sesjach użytkowników, w których możesz zobaczyć konkretny ślad w kontekście osi czasu innych śladów zebranych podczas tej samej sesji.