Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

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

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

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

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

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

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

  • Коэффициент успешности - процент успешных ответов по сравнению с общим количеством ответов (для измерения сбоев сети или сервера)

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

Этот стандартный мониторинг включает большинство сетевых запросов для вашего приложения. Однако о некоторых запросах может не сообщаться, или вы можете использовать другую библиотеку для выполнения сетевых запросов. В этих случаях вы можете использовать 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/** . В настоящее время это не поддерживается для пользовательских шаблонов URL .

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», чтобы узнать больше.

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

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

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

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

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

Чтобы добавить метрику к вашей плате метрик, перейдите на приборную панель Performance в Firebase консоли, а затем нажмите на вкладку Сводки. Щелкните пустую карточку метрики, затем выберите существующую метрику, чтобы добавить ее на свою доску. Щелкните на заполненной карточке метрики, чтобы дополнительные параметры, например заменить или удалить метрику.

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

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

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

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

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

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

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

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

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