Performance Monitoring использует трассировку для сбора данных о контролируемых процессах в вашем приложении. Трассировка — это отчет, содержащий данные, полученные в вашем приложении в промежутке времени между двумя точками.
Для всех типов приложений Performance Monitoring автоматически собирает трассировку для каждого сетевого запроса, отправляемого вашим приложением, называемую трассировкой сетевого запроса HTTP/S . Эти трассировки собирают метрики за время между отправкой вашим приложением запроса к конечной точке сервиса и получением ответа от этой конечной точки. Для любой конечной точки, к которой ваше приложение отправляет запрос, Performance Monitoring собирает несколько метрик:
Время ответа — время между отправкой запроса и получением полного ответа.
Размер полезной нагрузки ответа — размер в байтах сетевой полезной нагрузки, загружаемой приложением.
Данные из этих трассировок можно просмотреть на вкладке «Сетевые запросы» таблицы трассировок, которая находится в нижней части панели мониторинга производительности (подробнее об использовании консоли см. далее на этой странице).
Встроенная функция мониторинга охватывает большинство сетевых запросов для вашего приложения. Однако, если существуют определенные URL-адреса, которые Firebase не отслеживает с помощью автоматического сопоставления шаблонов URL, вы можете создать пользовательские шаблоны URL для мониторинга определенного набора URL-адресов в течение определенного времени.
Агрегация данных по шаблонам URL
Firebase Performance Monitoring автоматически собирает данные по аналогичным сетевым запросам, помогая вам понять тенденции в производительности ваших сетевых запросов.
Для каждого запроса Firebase проверяет, соответствует ли URL-адрес сетевого запроса шаблону URL. Если URL-адрес запроса соответствует шаблону URL, Firebase автоматически объединяет данные запроса в соответствии с этим шаблоном. Firebase отображает шаблоны URL и их объединенные данные на вкладке «Сеть» в панели мониторинга «Производительность » консоли Firebase .
Что такое шаблон URL?
Шаблон URL-адреса содержит домен и шаблон, который может соответствовать пути URL-адреса, например: example.com/*/animals/** .
Шаблоны URL-адресов могут содержать следующие сегменты пути:
- Обычный текст — соответствует точной строке
-
*— соответствует любой строке в одном сегменте пути -
**— соответствует произвольному суффиксу пути
Шаблоны URL-адресов могут быть следующими:
- Шаблоны, полученные из Firebase, — так называемые автоматические шаблоны 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
Без какой-либо настройки с вашей стороны, Performance Monitoring пытается отразить последнее поведение вашего приложения при использовании, сопоставляя запросы вашего приложения с автоматическими шаблонами URL-адресов .
Как работает автоматическое сопоставление шаблонов URL-адресов?
Firebase сопоставляет каждый запрос с наиболее репрезентативным автоматическим шаблоном URL, полученным из запросов, отправленных вашим приложением. Однако обратите внимание, что Firebase сначала пытается сопоставить URL-адреса запросов с любыми настроенными пользовательскими шаблонами URL .
Ниже приведён базовый пример того, как Firebase пытается сопоставить запросы с наиболее типичным шаблоном URL-адреса для вашего приложения.
Ваше приложение отправляет множество запросов на 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/**.-
Через неделю большинство запросов вашего приложения будет направлено на
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/**.Однако в течение следующих нескольких недель количество запросов вашего приложения к
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 для мониторинга производительности, совместимую с обработкой данных в реальном времени. Узнайте больше о данных о производительности в реальном времени .
Отслеживайте конкретные показатели на своей панели управления.
Чтобы узнать, как меняются ваши ключевые показатели, добавьте их на доску метрик в верхней части панели мониторинга производительности . Вы можете быстро выявить регрессии, увидев изменения за неделю, или убедиться, что недавние изменения в вашем коде улучшают производительность.
Панель мониторинга производительности Firebase" />Чтобы добавить метрику на доску метрик, выполните следующие действия:
- Перейдите на панель мониторинга «Производительность» в консоли Firebase .
- Щелкните по пустой карточке показателя, затем выберите существующий показатель, чтобы добавить его на доску.
- Нажмите кнопку на заполненной карточке показателя, чтобы получить дополнительные параметры, например, заменить или удалить показатель.
На панели показателей отображаются собранные данные о метриках за определенный период времени, как в графическом виде, так и в виде числового процентного изменения.
Узнайте больше об использовании панели управления .
Просмотр трассировок и их данных
Чтобы просмотреть трассировки, перейдите на панель мониторинга «Производительность» в консоли Firebase , прокрутите вниз до таблицы трассировок, а затем щелкните соответствующую подвкладку. В таблице отображаются некоторые ключевые показатели для каждой трассировки, и вы даже можете отсортировать список по процентному изменению для конкретного показателя.
В консоли Firebase Performance Monitoring предоставляет страницу устранения неполадок, которая отображает изменения метрик, что позволяет быстро выявлять и минимизировать влияние проблем с производительностью на ваши приложения и пользователей. Вы можете использовать эту страницу устранения неполадок, когда узнаете о потенциальных проблемах с производительностью, например, в следующих сценариях:
- Вы выбираете соответствующие показатели на панели мониторинга и замечаете большую разницу.
- В таблице результатов вы сортируете данные таким образом, чтобы наибольшие изменения отображались вверху, и видите значительное процентное изменение.
- Вы получите уведомление по электронной почте о проблеме с производительностью.
Доступ к странице устранения неполадок можно получить следующими способами:
- На панели мониторинга показателей нажмите кнопку « Просмотреть подробные сведения о показателе» .
- На любой метрической карте выберите
=> Просмотреть подробности . На странице устранения неполадок отображается информация о выбранном вами показателе. - В таблице трассировок щелкните имя трассировки или любое значение метрики в строке, связанной с этой трассировкой.
- В электронном письме с уведомлением нажмите «Провести расследование» .
При щелчке по названию трассировки в таблице трассировок вы можете перейти к просмотру интересующих вас метрик. Щелкните
Данные мониторинга производительности Firebase фильтруются по атрибуту" />- Используйте фильтр по URL страницы , чтобы просмотреть данные по конкретной странице вашего сайта.
- Отфильтруйте результаты по типу эффективного соединения , чтобы узнать, как соединение 3G влияет на ваше приложение.
- Используйте фильтр по стране , чтобы убедиться, что местоположение вашей базы данных не влияет на конкретный регион.
Узнайте больше о просмотре данных ваших трассировок .
Следующие шаги
Узнайте больше об использовании атрибутов для анализа данных о производительности.
Узнайте больше о том, как отслеживать проблемы с производительностью в консоли Firebase .
Настройте оповещения о сетевых запросах, которые ухудшают производительность вашего приложения. Например, вы можете настроить оповещение по электронной почте для вашей команды, если время ответа для определенного шаблона URL-адреса превысит установленный вами порог.