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ę, zwanego logiem czasu żądania sieciowego HTTP/S. Te ślady zbierają dane o czasie od momentu, w którym aplikacja wysyła żądanie do punktu końcowego usługi, do momentu, w którym otrzymuje pełną odpowiedź z tego punktu. W przypadku każdego punktu końcowego, do którego aplikacja wysyła żądanie, Performance Monitoring rejestruje kilka rodzajów 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 z zakresu 100–399) w porównaniu z łączną liczbą odpowiedzi.

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

Performance Monitoring automatycznie zbiera wskaźniki dotyczące żądań sieciowych, które korzystają z tych bibliotek sieciowych:

Swift

  • URLSession
  • URLConnection

Objective-C

  • NSURLSession
  • NSURLConnection

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ęczne instrumentowanie śladów żądań sieciowych: gotowe monitorowanie obejmuje większość żądań sieciowych w 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 do ręcznego instrumentowania niestandardowych śladów żądań sieciowych.
  • Agregowanie danych według niestandardowych wzorców adresów URL: jeśli istnieją konkretne 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 wskaźnika sukcesu: w przypadku niektórych punktów końcowych interfejsu API kod błędu jest oczekiwany lub jest 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 adresu URL

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

Co to jest wzorzec adresu URL?

Wzorzec adresu URL zawiera domenę i 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 – dopasowuje dokładnie do konkretnego ciągu;
    • * – pasuje do dowolnego ciągu w jednym segmencie ścieżki.
    • ** – dopasowuje dowolny sufiks ścieżki
  • Wzorce adresów URL mogą być:

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

  • 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, np. *.example.com/*/fruits/**.

Firebase mapuje każde żądanie na tylko jeden 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 niestandardowego wzorca adresu URL, 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 Twojej konfiguracji Performance Monitoring próbuje odzwierciedlać najnowsze zachowania związane z używaniem 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ń wysyłanych przez Twoją 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 Twojej aplikacji.

  1. 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 stwierdza, że example.com/germany/** to typowy wzorzec żądania w Twojej aplikacji, i dodaje go jako automatyczny wzorzec adresu URL w Twoim projekcie.

    W przypadku nowych dopasowanych żądań do tego wzorca adresu URL Firebase agreguje dane żądań we wzorcu 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 wyodrębnia bardziej reprezentatywny wzorzec adresu URL example.com/germany/animals/**.

    W przypadku nowych żądań pasujących do tego nowego wzorca adresu URL Firebase agreguje dane żądań tylko w ramach nowego wzorca adresu URL. Firebase nadal agreguje dane dotyczące żądań wysyłanych do example.com/germany/cars w ramach example.com/germany/**.

  3. Jednak w ciągu kilku następnych tygodni liczba żądań wysyłanych przez Twoją aplikację do example.com/germany/animals/bearsexample.com/germany/animals/birds znacznie się zmniejszy. Firebase stwierdza, że example.com/germany/animals/** nie odzwierciedla najnowszych zachowań użytkowników Twojej aplikacji, więc zaczyna dopasowywać te 2 żądania do example.com/germany/**.

    Firebase nie agreguje już żadnych dodatkowych 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 ani dane zbiorcze z poprzednich żądań. Firebase nie dokonuje wstecznej ponownej agregacji danych żądań.

  • 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 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śćFirebase konsoli.

Możesz zobaczyć wzorce adresów URL z etykietą Bez kategorii. Są to „ogólne” automatyczne wzorce adresów URL, w 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 zgromadzonych w ramach wzorca adresu URL dobiegnie końca, 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 Firebase konsoli.

Niestandardowe wzorce adresów URL

Możesz tworzyć niestandardowe wzorce adresów URL, aby monitorować konkretne 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 korzysta z wersji pakietu SDK do 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ę, jak zmieniają się Twoje kluczowe dane, dodaj je do tablicy danych u góry panelu Skuteczność. Możesz szybko wykrywać regresje, sprawdzając zmiany z tygodnia na tydzień, lub weryfikować, czy ostatnie zmiany w kodzie poprawiają skuteczność.

obraz tablicy wskaźników w <span class=Panel monitorowania skuteczności w Firebase" />

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

  1. Otwórz panel Wydajność w konsoli Firebase.
  2. Kliknij pustą kartę danych, a następnie 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ąpienia lub usunięcia danych.

Tablica danych zawiera zebrane dane w czasie, zarówno w formie graficznej, jak i jako liczbową zmianę procentową.

Dowiedz się więcej o korzystaniu z panelu.

Wyświetlanie logów czasu 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ą kartę. Tabela zawiera najważniejsze dane dotyczące każdego śladu. Możesz nawet posortować listę według zmiany procentowej dla określonych danych.

Performance Monitoring udostępnia w Firebase konsoli stronę rozwiązywania problemów, która wyróżnia zmiany wskaźników, 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 w panelu odpowiednie dane 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ą.
  • Otrzymasz e-maila z alertem o problemie z wydajnością.

Stronę rozwiązywania problemów możesz otworzyć w ten sposób:

  • Na 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 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 w tabeli śladów klikniesz nazwę śladu, możesz przejść do szczegółowych danych, które Cię interesują. Aby przefiltrować dane według atrybutu, np.

obraz <span class=Dane monitorowania skuteczności w Firebase filtrowane według atrybutu" />
  • Filtruj według Wersji aplikacji, aby wyświetlić dane dotyczące 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 dotyczących śladów.

Następne kroki

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

  • Dowiedz się więcej o tym, jak śledzić problemy z wydajnością w konsoli Firebase.

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

  • Wyświetlaj szczegółowe raporty dotyczące sesji użytkowników, w których możesz zobaczyć konkretny ślad na osi czasu innych śladów zebranych podczas tej samej sesji.