Performance Monitoring использует трассировки для сбора данных о контролируемых процессах в вашем приложении. Трассировка — это отчет, содержащий данные, собранные между двумя точками времени в вашем приложении.
Для всех типов приложений Performance Monitoring автоматически собирает трассировку для каждого сетевого запроса, отправленного вашим приложением, называемую трассировкой сетевого запроса HTTP/S . Эти трассировки собирают метрики за время между тем, когда ваше приложение отправляет запрос конечной точке службы, и моментом завершения ответа от этой конечной точки. Для любой конечной точки, к которой ваше приложение делает запрос, Performance Monitoring фиксирует несколько метрик:
Время ответа — время между моментом отправки запроса и моментом полного получения ответа.
Размер полезной нагрузки ответа — размер сетевой полезной нагрузки, загруженной приложением, в байтах.
Размер полезной нагрузки запроса — размер сетевой полезной нагрузки, загружаемой приложением, в байтах.
Показатель успешности — процент успешных ответов (коды ответов в диапазоне 100–399) по сравнению с общим количеством ответов.
Вы можете просмотреть данные этих трассировок на подвкладке «Сетевые запросы» таблицы трассировок, которая находится в нижней части панели мониторинга производительности (подробнее об использовании консоли см . далее на этой странице).
Настройте агрегацию данных сетевых запросов
Помимо готовых инструментов и агрегации данных для сетевых запросов, Performance Monitoring также поддерживает следующие возможности:
- Ручная инструментация трассировок сетевых запросов: встроенный мониторинг включает большинство сетевых запросов для вашего приложения. Однако некоторые запросы могут не сообщаться или вы можете использовать другую библиотеку для выполнения сетевых запросов. В этих случаях вы можете использовать API Performance Monitoring для ручной инструментации пользовательских трассировок сетевых запросов .
- Агрегируйте данные по пользовательским шаблонам 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 могут быть:
- Шаблоны, полученные из 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 выводит более репрезентативный шаблон URLexample.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 с меткой Uncategorized . Это «широкие» автоматические шаблоны URL, в рамках которых Firebase может агрегировать данные для запросов, которые не соответствуют ни одному более конкретному шаблону URL.
Когда заканчивается период хранения данных , агрегированных по шаблону URL, Firebase удаляет эти данные из шаблона URL. Если истекает срок действия всех данных, агрегированных по автоматическому шаблону URL, Firebase удаляет этот шаблон URL из консоли Firebase .
Пользовательские шаблоны URL
Вы можете создать пользовательские шаблоны URL для мониторинга определенных шаблонов URL, которые Firebase не фиксирует с помощью своего производного автоматического сопоставления шаблонов URL . Например, вы можете использовать пользовательский шаблон URL для устранения неполадок определенного URL или для мониторинга определенного набора URL с течением времени.
Чтобы узнать больше, посетите раздел Создание пользовательских шаблонов URL .
Отслеживать, просматривать и фильтровать данные о производительности
Для просмотра данных о производительности в реальном времени убедитесь, что ваше приложение использует версию SDK Performance Monitoring, совместимую с обработкой данных в реальном времени. Узнайте больше о данных о производительности в реальном времени .
Отслеживайте определенные показатели на панели управления
Чтобы узнать, как изменяются ваши ключевые показатели, добавьте их на доску показателей в верхней части панели производительности . Вы можете быстро определить регрессии, увидев изменения еженедельно или убедиться, что недавние изменения в вашем коде улучшают производительность.

Чтобы добавить метрику на доску метрик, выполните следующие действия:
- Перейдите на панель «Производительность» в консоли Firebase .
- Щелкните пустую карточку метрики, затем выберите существующую метрику для добавления на доску.
- Нажмите на заполненной карточке метрики, чтобы увидеть дополнительные параметры, например, чтобы заменить или удалить метрику.
На доске показателей отображаются собранные данные показателей с течением времени как в графической форме, так и в виде числового процентного изменения.
Узнайте больше об использовании панели управления .
Просмотр следов и их данных
Чтобы просмотреть ваши трассировки, перейдите на панель управления производительностью в консоли Firebase , прокрутите вниз до таблицы трассировок, затем щелкните соответствующую вкладку. Таблица отображает некоторые главные метрики для каждой трассировки, и вы даже можете отсортировать список по процентному изменению для определенной метрики.
Performance Monitoring предоставляет страницу устранения неполадок в консоли Firebase , которая выделяет изменения метрик, что позволяет быстро устранять и минимизировать влияние проблем производительности на ваши приложения и пользователей. Вы можете использовать страницу устранения неполадок, когда узнаете о потенциальных проблемах производительности, например, в следующих сценариях:
- Вы выбираете соответствующие показатели на панели управления и замечаете большую разницу.
- В таблице следов вы сортируете данные так, чтобы самые большие дельты отображались вверху, и видите значительное процентное изменение.
- Вы получаете уведомление по электронной почте о проблемах с производительностью.
Доступ к странице устранения неполадок можно получить следующими способами:
- На панели показателей нажмите кнопку « Просмотреть сведения о показателях» .
- На любой метрической карте выберите
- В таблице трасс щелкните имя трассы или любое значение метрики в строке, связанной с этой трассой.
- В оповещении по электронной почте нажмите кнопку «Расследовать сейчас» .
Когда вы нажимаете на имя трассировки в таблице трассировок, вы можете перейти к интересующим вас метрикам. Нажмите

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