Google is committed to advancing racial equity for Black communities. See how.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Monitoruj żądania sieciowe HTTP / S

Śledzenie żądań sieciowych HTTP / S to raport, który rejestruje czas między wysłaniem przez aplikację żądania do punktu końcowego usługi a zakończeniem odpowiedzi z tego punktu końcowego. W przypadku każdego punktu końcowego, do którego aplikacja wysyła żądanie, monitorowanie wydajności rejestruje kilka wskaźników:

  • Czas odpowiedzi - czas między wysłaniem żądania a otrzymaniem pełnej odpowiedzi

  • Rozmiar ładunku - rozmiar w bajtach ładunku sieciowego pobranego i przesłanego przez aplikację

  • Wskaźnik sukcesu - odsetek udanych odpowiedzi w porównaniu do wszystkich odpowiedzi (w celu pomiaru awarii sieci lub serwera)

Monitorowanie wydajności automatycznie zbiera metryki dla żądań sieciowych korzystających z następujących bibliotek sieciowych:

Szybki

  • URLSession
  • URLConnection

Cel C

  • NSURLSession
  • NSURLConnection

To gotowe do użycia monitorowanie obejmuje większość żądań sieciowych dla Twojej aplikacji. Jednak niektóre żądania mogą nie zostać zgłoszone lub możesz użyć innej biblioteki do wysyłania żądań sieciowych. W takich przypadkach można użyć interfejsu API monitorowania wydajności do ręcznego instrumentowania niestandardowych żądań sieciowych .

Agregacja danych w ramach wzorców adresów URL

Monitorowanie wydajności Firebase automatycznie agreguje dane dotyczące podobnych żądań sieciowych, aby pomóc Ci zrozumieć trendy w wydajności żądań sieciowych.

Dla 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 pod wzorcem adresu URL. Firebase wyświetla wzorce adresów URL i ich zagregowane dane na karcie Sieć w sekcji Wydajność 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, na przykład: example.com/*/animals/** .

  • Wzorce adresów URL mogą zawierać następujące segmenty ścieżek:

    • zwykły tekst - dopasowuje dokładny ciąg
    • * - dopasowuje dowolny ciąg w jednym segmencie ścieżki
    • ** - dopasowuje dowolny przyrostek ścieżki
  • Wzorce adresów URL mogą być:

Na przykład: dowolne z następujących żą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

Firebase mapuje każde żądanie tylko do jednego wzorca adresu URL . Jeśli masz skonfigurowane niestandardowe wzorce adresów URL , Firebase najpierw spró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 . Dowiedz się więcej o automatycznych i niestandardowych wzorcach adresów URL w kolejnych sekcjach.

Automatyczne wzorce adresów URL

Bez żadnej konfiguracji przez Ciebie monitorowanie wydajności próbuje odzwierciedlić najnowsze zachowanie aplikacji, dopasowując żądania aplikacji do automatycznych wzorców adresów URL .

Jak działa automatyczne dopasowywanie wzorca adresu URL?

Firebase dopasowuje każde żądanie do najbardziej reprezentatywnego automatycznego wzorca adresu URL, który wyprowadził z żądań wysłanych przez Twoją aplikację. Pamiętaj jednak, że Firebase najpierw próbuje dopasować adresy URL żądań do dowolnych skonfigurowanych niestandardowych wzorców adresów URL .

Poniżej znajduje się podstawowy przykład tego, jak Firebase próbuje dopasować żądania do najbardziej reprezentatywnego automatycznego wzorca adresu URL dla Twojej aplikacji.

  1. Twoja aplikacja wysyła wiele żądań pod adresy URL, takie jak:

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

    Firebase ustala, że example.com/germany/** to typowy wzorzec żądań dla Twojej aplikacji i dodaje go jako automatyczny wzorzec adresu URL w Twoim projekcie.

    W przypadku wszystkich nowych żądań pasujących do tego wzorca adresu URL Firebase agreguje dane żądań pod automatycznym wzorcem adresu URL example.com/germany/** .

  2. Po tygodniu większość żądań dotyczących Twojej aplikacji jest kierowanych do example.com/germany/animals/bears i example.com/germany/animals/birds . Dlatego Firebase wyprowadza bardziej reprezentatywny wzorzec adresu URL: example.com/germany/animals/** .

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

  3. Jednak w ciągu następnych kilku tygodni liczba żądań wysyłanych przez Twoją aplikację do example.com/germany/animals/bears i example.com/germany/animals/birds znacznie spada. Firebase ustala, że example.com/germany/animals/** nie jest reprezentatywna dla najnowszego sposobu użytkowania Twojej aplikacji, więc Firebase zaczyna dopasowywać te dwa żądania z powrotem do example.com/germany/** .

    Firebase nie gromadzi żadnych dalszych danych dotyczących żądań pod adresem example.com/germany/animals/** ponieważ nie jest już najbardziej reprezentatywnym automatycznym wzorcem adresu URL.

Ponieważ automatyczne dopasowywanie wzorca adresu URL jest dynamiczne, pamiętaj o następujących kwestiach:

  • Nowe wzorce adresów URL nie mają wpływu na dopasowania i zagregowane dane z poprzednich żądań. Firebase nie gromadzi danych z żądaniami wstecz.

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

Wyświetl automatyczne wzorce adresów URL i ich dane

Sekcja Wydajność konsoli wyświetla automatyczne wzorce adresów URL na karcie Sieć > Wszystkie . Możesz zobaczyć wzorce adresów URL z etykietą Bez kategorii . Są to „ogólne” automatyczne wzorce adresów URL, na podstawie których Firebase może gromadzić dane dotyczące żądań, które nie pasują do żadnego bardziej konkretnego wzorca adresu URL.

Po zakończeniu okresu przechowywania danych zebranych w ramach wzorca adresu URL Firebase usuwa te dane z wzorca adresu URL. Jeśli wszystkie dane zebrane w ramach automatycznego wzorca adresu URL wygasną, Firebase usunie ten wzorzec adresu URL z konsoli Firebase.

Niestandardowe wzorce adresów URL

Możesz tworzyć niestandardowe wzorce adresów URL, aby monitorować określone wzorce adresów URL, których Firebase nie przechwytuje za pomocą pochodnego automatycznego dopasowywania wzorców adresów URL . Możesz na przykład użyć niestandardowego wzorca adresu URL do rozwiązywania problemów z określonym adresem URL lub do monitorowania określonego zestawu adresów URL w czasie.

Jak działa dopasowywanie niestandardowego wzorca adresu URL?

Firebase próbuje dopasować adresy URL żądań do dowolnych skonfigurowanych niestandardowych wzorców adresów URL, zanim powróci do automatycznego dopasowywania wzorców adresów URL. W przypadku wszelkich żądań pasujących do niestandardowego wzorca adresu URL Firebase agreguje dane żądań w ramach niestandardowego wzorca adresu URL.

Jeśli adres URL żądania pasuje do więcej niż jednego niestandardowego wzorca adresu URL, Firebase mapuje żądanie tylko do najbardziej konkretnego niestandardowego wzorca adresu URL, zgodnie z następującą kolejnością określania: zwykły tekst> * > ** od lewej do prawej w ścieżce . Na przykład żądanie adresu example.com/books/dog pasuje do dwóch niestandardowych wzorców adresu URL:

  • example.com/books/*
  • example.com/*/dog

Jednak wzorzec example.com/books/* jest najbardziej konkretnym pasującym wzorcem adresu URL, ponieważ skrajny lewy segment books w example.com/books/* ma pierwszeństwo przed lewym segmentem * w example.com/*/dog .

Tworząc nowy niestandardowy wzorzec adresu URL, pamiętaj o następujących kwestiach:

  • Tworzenie nowego niestandardowego wzorca adresu URL nie ma wpływu na dopasowania i zagregowane dane z poprzednich żądań. Firebase nie gromadzi danych z żądaniami wstecz.

  • Utworzenie nowego niestandardowego wzorca adresu URL ma wpływ tylko na przyszłe żądania. Może minąć do 12 godzin, zanim monitorowanie wydajności zbierze i zagreguje dane w ramach nowego niestandardowego wzorca adresu URL.

Utwórz niestandardowy wzorzec adresu URL

Utwórz niestandardowy wzorzec adresu URL w sekcji Wydajność konsoli na karcie Sieć . Członek projektu musi być właścicielem lub redaktorem, aby utworzyć nowy niestandardowy wzorzec adresu URL; jednak wszyscy członkowie projektu mogą wyświetlać niestandardowe wzorce adresów URL i ich zagregowane dane.

Aby utworzyć niestandardowy wzorzec adresu URL, zacznij od domeny, a następnie użyj następującej składni segmentu ścieżki, aby utworzyć wzorzec pasujący do ścieżek adresów URL.

  • zwykły tekst - dopasowuje dokładny ciąg
  • * - dopasowuje dowolny ciąg w jednym segmencie ścieżki
  • ** - dopasowuje dowolny przyrostek ścieżki

W poniższej tabeli opisano potencjalne możliwości dopasowania niestandardowego wzorca adresu URL.

Aby dopasować ... Utwórz niestandardowy wzorzec adresu URL, taki jak ... Przykład pasuje do tego wzorca adresu URL
Dokładny adres URL example.com/foo/baz example.com/foo/baz
Dowolny pojedynczy segment ścieżki ( * ) example.com/*/baz example.com/foo/baz
example.com/bar/baz
example.com/*/*/baz example.com/foo/bar/baz
example.com/bah/qux/baz
example.com/foo/* example.com/foo/baz
example.com/foo/bar

Uwaga: ten wzorzec nie będzie pasował do example.com/foo .

Przyrostek dowolnej ścieżki ( ** ) example.com/foo/** example.com/foo
example.com/foo/baz
example.com/foo/baz/more/segments
subdomain.example.com/foo.bar/** subdomain.example.com/foo.bar
subdomain.example.com/foo.bar/baz
subdomain.example.com/foo.bar/baz/more/segments

Wyświetl niestandardowe wzorce adresów URL i ich dane

Sekcja Wydajność konsoli zawiera listę niestandardowych wzorców adresów URL, które mają zagregowane dane zarówno na karcie Sieć > Wszystkie , jak i na karcie Sieć > Niestandardowe . Jeśli niestandardowy wzorzec adresu URL nie zawiera żadnych danych zbiorczych, pojawia się tylko na karcie Sieć > Niestandardowe .

Po zakończeniu okresu przechowywania danych zebranych w ramach wzorca adresu URL Firebase usuwa te dane z wzorca adresu URL. Jeśli wygasną wszystkie dane zebrane w ramach niestandardowego wzorca adresu URL, Firebase nie usunie niestandardowego wzorca adresu URL z konsoli Firebase. Zamiast tego Firebase nadal wyświetla „puste” niestandardowe wzorce adresów URL na karcie Sieć > Niestandardowe .

Usuń niestandardowy wzorzec adresu URL

W przeciwieństwie do automatycznego wzorca adresu URL możesz usunąć niestandardowe wzorce adresów URL z projektu.

  1. W sekcji Wydajność konsoli przejdź do karty Sieć > Niestandardowe .

  2. Najedź na wiersz niestandardowego wzorca adresu URL, który chcesz usunąć.

  3. Kliknij po prawej stronie wiersza, a następnie potwierdź usunięcie w oknie dialogowym.

Podczas usuwania niestandardowego wzorca adresu URL pamiętaj o następujących kwestiach:

  • Wszelkie przyszłe żądania są mapowane na następny najbardziej konkretny pasujący niestandardowy wzorzec adresu URL. Jeśli Firebase nie znajdzie pasujących niestandardowych wzorców adresów URL, powróci do automatycznego dopasowywania wzorców adresów URL .

  • Usunięcie niestandardowego wzorca adresu URL nie ma wpływu na dopasowania i zagregowane dane z poprzednich żądań.

    Nadal możesz uzyskać dostęp do usuniętego niestandardowego wzorca adresu URL i jego zagregowanych danych na karcie Sieć > Wszystkie do końca obowiązującego okresu przechowywania danych. Po wygaśnięciu wszystkich danych zbiorczych w ramach usuniętego niestandardowego wzorca adresu URL Firebase usuwa niestandardowy wzorzec adresu URL.

  • Karta Sieć > Niestandardowe nie zawiera żadnych usuniętych niestandardowych wzorców adresów URL.

Dodaj monitorowanie niestandardowych żądań sieciowych

Aby ręcznie instrumentować niestandardowe żądania sieciowe w monitorowaniu wydajności, dodaj kod podobny do następującego:

Szybki

 guard let metric = HTTPMetric(url: "https://www.google.com", httpMethod: .get) else { return }

metric.start()
guard let url = URL(string: "https://www.google.com") else { return }
let request: URLRequest = URLRequest(url:url)
let session = URLSession(configuration: .default)
let dataTask = session.dataTask(with: request) { (urlData, response, error) in
        if let httpResponse = response as? HTTPURLResponse {
         metric.responseCode = httpResponse.statusCode
        }
        metric.stop()
}
dataTask.resume()
 

Cel C

 @property (nonatomic) FIRHTTPMetric *metric;

- (void)beginManualNetworkInstrumentation {
  self.metric =
      [[FIRHttpMetric alloc] initWithURL:[NSURL URLWithString:@"https://www.google.com"]
                              HTTPMethod:FIRHTTPMethodGET];

  [self.metric start];

  NSURLRequest *request =
      [NSURLRequest requestWithURL:[NSURL URLWithString:@"https://www.google.com"]];
  NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request
                                                                delegate:self];
  [connection resume];
}

- (void)connection:(NSURLConnection *)connection
    didReceiveResponse:(NSURLResponse *) response {
  NSHTTPURLResponse* httpResponse = (NSHTTPURLResponse*)response
  self.metric.responseCode = httpResponse.statusCode;
  [self.metric stop];
}
 

Żądania sieciowe HTTP / S, które przechwytujesz w ten sposób, pojawiają się w konsoli Firebase razem z żądaniami sieciowymi, które funkcja monitorowania wydajności przechwytuje automatycznie.

Monitoruj ślady żądań sieciowych w konsoli

  1. W konsoli Firebase przejdź do panelu Wydajność .

  2. Kliknij kartę Sieć , a następnie możesz:

    • Wyświetl szybki raport zebranych danych dla wszystkich żądań sieciowych.

    • Kliknij określony punkt końcowy, aby przejrzeć bardziej szczegółowe dane punktu końcowego.

    • Użyj przycisku filtr w lewym górnym rogu pulpitu nawigacyjnego, aby wykonać podstawowe filtrowanie danych według atrybutu.

  3. Po kliknięciu określonego punktu końcowego konsola wyświetla przegląd zebranych danych na kartach metrycznych.

    • Użyj opcji w prawym górnym rogu panelu, aby:

      • Wyświetlaj różne dane jako zagregowane , w czasie lub dla każdej wersji swojej aplikacji.
      • Wyświetl współczynnik sukcesu punktu końcowego jako zagregowany , w czasie lub dla każdej wersji aplikacji.
    • Użyj przycisku filtr w lewym górnym rogu pulpitu nawigacyjnego, aby wykonać podstawowe filtrowanie danych według atrybutu.

  4. W przypadku dowolnej metryki kliknij Wyświetl więcej, aby przejrzeć bardziej szczegółowe informacje o zebranych danych i skorzystać z bogatszych funkcji analitycznych. Na przykład możesz filtrować i segmentować dane według atrybutu i wyświetlać dane w kontekście sesji użycia aplikacji.

Następne kroki