Узнайте о данных о производительности сетевых запросов HTTP/S (любое приложение)

Мониторинг производительности использует трассировки для сбора данных о отслеживаемых процессах в вашем приложении. Трассировка — это отчет, содержащий данные, собранные между двумя моментами времени в вашем приложении.

Для всех типов приложений мониторинг производительности автоматически собирает трассировку для каждого сетевого запроса, отправленного вашим приложением, который называется трассировкой сетевого запроса HTTP/S . Эти трассировки собирают показатели за время между отправкой вашим приложением запроса к конечной точке службы и завершением ответа от этой конечной точки. Для любой конечной точки, к которой ваше приложение отправляет запрос, мониторинг производительности фиксирует несколько показателей:

  • Время ответа — время между отправкой запроса и полным получением ответа.

  • Размер полезных данных ответа — размер в байтах сетевых полезных данных, загружаемых приложением.

  • Размер полезной нагрузки запроса — размер полезной нагрузки сети в байтах, загруженной приложением.

  • Доля успешных ответов — процент успешных ответов (коды ответов в диапазоне от 100 до 399) по сравнению с общим количеством ответов.

Данные этих трассировок можно просмотреть на подвкладке «Сетевые запросы » таблицы трассировок, которая находится в нижней части панели мониторинга «Производительность» (подробнее об использовании консоли см. далее на этой странице).

Настройте агрегирование данных сетевых запросов

Помимо готовых инструментов и агрегирования данных для сетевых запросов, Performance Monitoring также поддерживает следующие параметры:

  • Отслеживание сетевых запросов вручную. Готовый мониторинг включает в себя большинство сетевых запросов для вашего приложения. Однако о некоторых запросах может не сообщаться, или вы можете использовать другую библиотеку для выполнения сетевых запросов. В этих случаях вы можете использовать API мониторинга производительности для ручного инструментирования трассировки пользовательских сетевых запросов .
  • Объедините данные по настраиваемым шаблонам URL-адресов. Если есть определенные URL-адреса, которые Firebase не фиксирует с помощью производного автоматического сопоставления шаблон��в URL-адресов, вы можете создать собственные шаблоны URL-адресов для мониторинга определенного набора URL-адресов с течением времени.
  • Настройте способ расчета вероятности успеха: иногда для определенных конечных точек API ожидается код ошибки или он уже обработан в вашем приложении. В этих случаях вы можете настроить способ расчета вероятности успеха и более точно отслеживать вероятность успеха сетевых вызовов вашего приложения.

Агрегация данных по шаблонам URL

Firebase Performance Monitoring автоматически объединяет данные по похожим сетевым запросам, чтобы помочь вам понять тенденции в производительности ваших сетевых запросов.

Для каждого запроса Firebase проверяет, соответствует ли URL-адрес сетевого запроса шаблону URL-адреса. Если URL-адрес запроса соответствует шаблону URL-адреса, Firebase автоматически объединяет данные запроса по шаблону URL-адреса. Firebase отображает шаблоны URL-адресов и их агрегированные данные на вкладке «Сеть» на панели «Производительность» консоли Firebase.

Что такое шаблон URL?

Шаблон URL-адреса содержит домен и шаблон, который может соответствовать пути URL-адреса, например: example.com/*/animals/** .

  • Шаблоны URL-адресов могут содержать следующие сегменты пути:

    • обычный текст — соответствует точной строке
    • * — соответствует любой строке в одном сегменте пути
    • ** — соответствует произвольному суффиксу пути
  • Шаблоны URL-адресов могут быть следующими:

Например: любой из следующих URL-запросов может соответствовать шаблону URL-адресов example.com/*/animals/** .

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

Домен для шаблона URL-адреса также может содержать * в качестве первого сегмента, например: *.example.com/*/fruits/** .

Firebase сопоставляет каждый запрос только с одним шаблоном URL . Если вы настроили какие-либо собственные шаблоны URL-адресов , Firebase сначала попытается сопоставить URL-адреса запросов с этими шаблонами. Если Firebase не находит подходящего пользовательского шаблона URL-адреса, он сопоставляет URL-адрес запроса с наиболее ��епрезентативным автоматическим шаблоном URL-адреса . Узнайте больше об автоматических и пользовательских шаблонах URL в следующих разделах.

Автоматические шаблоны URL

Без какой-либо настройки с вашей стороны, мониторинг производительности пытается отразить последнее поведение вашего приложения, сопоставляя запросы вашего приложения с автоматическими шаблонами URL-адресов .

Как работает автоматическое сопоставление шаблонов URL?

Firebase сопоставляет каждый запрос с наиболее репрезентативным автоматическим шаблоном URL-адреса, полученным на основе запросов, отправленных вашим приложением. Однако обратите внимание, что Firebase сначала пытается сопоставить URL-адреса запроса с любыми настроенными шаблонами URL-адресов .

Ниже приведен базовый пример того, как Firebase пытается сопоставить запросы с наиболее репрезентативным автоматическим шаблоном URL-адреса для вашего приложения.

  1. Ваше приложение отправляет множество запросов на такие URL-адреса, как:

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

    Firebase определяет, что example.com/germany/** является распространенным шаблоном запроса для вашего приложения, и добавляет его в качестве автоматического шаблона URL-адреса в ваш проект.

    Для любых новых запросов, соответствующих этому шаблону URL-адреса, Firebase объединяет данные запросов в автоматический шаблон URL-адреса example.com/germany/** .

  2. Через неделю большая часть запросов вашего приложения приходится на example.com/germany/animals/bears и example.com/germany/animals/birds . Таким образом, Firebase получает более репрезентативный шаблон URL- example.com/germany/animals/** .

    Для любых новых запросов, соответствующих этому новому шаблону URL-адреса, Firebase объединяет данные запросов только по новому шаблону URL-адреса. Firebase продолжает собирать данные для запросов к example.com/germany/cars в разделе example.com/germany/** .

  3. Однако в течение следующих нескольких недель количество запросов вашего приложения к example.com/germany/animals/bears и example.com/germany/animals/birds существенно сократится. Firebase определяет, что example.com/germany/animals/** не отражает последнее поведение вашего приложения, поэтому Firebase начинает сопоставлять эти два запроса обратно с example.com/germany/** .

    Firebase не собирает дополнительные данные запросов в разделе example.com/germany/animals/** , поскольку это больше не является наиболее репрезентативным автоматическим шаблоном URL.

Поскольку автоматическое сопоставление шаблонов URL-адресов является динамическим, имейте в виду следующее:

  • Новые шаблоны URL-адресов не влияют на совпадения и агрегированные данные из предыдущих запросов. Firebase не выполняет ретроактивное повторное агрегирование данных запроса.

  • Новые шаблоны URL-адресов влияют только на будущие запросы. Firebase сопоставляет каждый новый запрос с наиболее репрезентативным автоматическим шаблоном URL. Однако обратите внимание, что Firebase сначала пытается сопоставить URL-адреса запроса с любыми настроенными шаблонами URL-адресов .

Просмотр автоматических шаблонов URL-адресов и их данных

Firebase отображает все шаблоны URL-адресов и их агрегированные данные на подвкладке «Сетевые запросы» таблицы трассировок, которая находится в нижней части панели «Производительность» консоли Firebase.

Вы можете увидеть шаблоны URL с меткой «Без категории» . Это «широкие» автоматические шаблоны URL-адресов, в соответствии с которыми Firebase может агрегировать данные для запросов, которые не соответствуют какому-либо более конкретному шаблону URL-адресов.

Когда период хранения данных , агрегированных по шаблону URL-адреса, заканчивается, Firebase удаляет эти данные из шаблона URL-адреса. Если срок действия всех данных, агрегированных по автоматическому шаблону URL-адресов, истечет, Firebase удалит этот шаблон URL-адреса из консоли Firebase.

Пользовательские шаблоны URL-адресов

Вы можете создавать собственные шаблоны URL-адресов для отслеживания определенных шаблонов URL-адресов, которые Firebase не фиксирует с помощью производного автоматического сопоставления шаблонов URL-адресов . Например, вы можете использовать собственный шаблон URL-адреса для устранения неполадок определенного URL-адреса или для мониторинга определенного набора URL-адресов с ��ечением времени.

Посетите раздел «Создание собственных шаблонов URL-адресов», чтобы узнать больше.

Отслеживайте, просматривайте и фильтруйте данные о производительности

Чтобы просматривать данные о производительности в реальном времени, убедитесь, что ваше приложение использует версию Performance Monitoring SDK, совместимую с обработкой данных в реальном времени. Узнайте больше о данных о производительности в реальном времени .

Отслеживайте конкретные показатели на панели управления

Чтобы узнать, как меняются ваши ключевые показатели, добавьте их на доску показателей в верхней части панели мониторинга «Производительность» . Вы можете быстро выявить регрессии, наблюдая за изменениями еженедельно, или убедиться, что недавние изменения в вашем коде повышают производительность.

изображение доски показателей на панели мониторинга Firebase Performance Monitoring

Чтобы добавить метрику на доску метрик, выполните следующие действия:

  1. Перейдите на панель «Производительность» в консоли Firebase.
  2. Нажмите пустую карточку показателя, затем выберите с��ществующий показатель, чтобы добавить его на доску.
  3. Нажмите на заполненной карточке показателя, чтобы просмотреть дополнительные параметры, например заменить или удалить показатель.

На панели показателей отображаются собранные данные показателей с течением времени как в графической форме, так и в виде численного процентного изменения.

Узнайте больше об использовании панели мониторинга .

Просмотр трассировок и их данных

Чтобы просмотреть трассировки, перейдите на панель мониторинга «Производительность» в консоли Firebase, прокрутите вниз до таблицы трассировок и щелкните соответствующую вложенную вкладку. В таблице отображаются некоторые основные метрики для каждой трассы, и вы даже можете отсортировать список по процентному изменению определенной метрики.

Мониторинг производительности предоставляет страницу устранения неполадок в консоли Firebase, на которой освещаются изменения показателей, что позволяет легко быстро устранять и минимизировать влияние проблем с производительностью на ваши приложения и пользователей. Вы можете использовать страницу устранения неполадок, когда узнаете о потенциальных проблемах с производительностью, например в следующих сценариях:

  • Вы выбираете соответствующие показатели на информационной панели и замечаете большую разницу.
  • В таблице трассировок вы сортируете данные так, чтобы самые большие отклонения отображались вверху, и вы видите значительное процентное изменение.
  • Вы получите оповещение по электронной почте, уведомляющее вас о проблеме с производительностью.

Вы можете получить доступ к странице устранения неполадок следующими способами:

  • На панели мониторинга показателей нажмите кнопку «Просмотреть сведения о метрике» .
  • На любой карточке показателя выберите => Посмотреть подробности . На странице устранения неполадок отображается информация о выбранной вами метрике.
  • В таблице трассировок щелкните имя трассировки или любое значение метрики в строке, связанной с этой трассировкой.
  • В уведомлении по электронной почте нажмите «Провести расследование» .

Щелкнув имя трассировки в таблице трассировок, вы сможете перейти к интересующим метрикам. Нажмите кнопку Кнопка фильтра для фильтрации данных по атрибуту, ��апример:

изображение данных мониторинга производительности Firebase, фильтруемых по атрибуту
  • Фильтруйте по версии приложения , чтобы просмотреть данные о предыдущей или последней версии приложения.
  • Отфильтруйте по устройству , чтобы узнать, как старые устройства обрабатывают ваше приложение.
  • Фильтруйте по стране , чтобы убедиться, что расположение вашей базы данных не влияет на определенный регион.

Узнайте больше о просмотре данных для ваших трассировок .

Следующие шаги

  • Просматривайте подробные отчеты о сеансах пользователей , в которых вы можете увидеть определенную трассировку в контексте временной шкалы других трассировок, собранных во время того же сеанса.