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

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

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

Объедините данные по пользовательским шаблонам URL-адресов.

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

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

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

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

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

Если URL-адрес запроса соответствует более чем одному пользовательскому шаблону URL-адреса, Firebase сопоставляет запрос только с наиболее конкретным пользовательским шаблоном URL-адреса в соответствии со следующим порядком специфичности: простой текст > * > ** слева направо в пути . Например, запрос к example.com/books/dog соответствует двум пользовательским шаблонам URL-адресов:

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

Однако шаблон example.com/books/* является наиболее подходящим шаблоном URL-адреса, поскольку самый левый сегмент books в example.com/books/* имеет приоритет над самым левым сегментом * в example.com/*/dog .

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

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

  • Создание нового пользовательского шаблона URL-адреса затрагивает только будущие запросы. Возможно, вам придется подождать до 12 часов, пока Performance Monitoring соберет и объединит данные в соответствии с новым шаблоном URL-адреса.

Создайте собственный шаблон URL-адреса

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

Чтобы создать новый шаблон URL-адреса, участник проекта должен быть владельцем или редактором ; однако все участники проекта могут просматривать пользовательские шаблоны URL-адресов и их агрегированные данные.

Вы можете создать до 400 пользовательских шаблонов URL-адресов для каждого приложения и до 100 пользовательских шаблонов URL-адресов для каждого домена этого приложения.

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

  • простой текст — соответствует точной строке
  • * — соответствует первому сегменту субдомена или любой строке в одном сегменте пути.
  • ** — соответствует произвольному суффиксу пути

В следующей таблице описаны некоторые потенциальные соответствия шаблонам пользовательских URL-адресов.

Чтобы соответствовать... Создайте собственный шаблон URL-адреса, например... Пример соответствует этому шаблону URL
Точный URL-адрес example.com/foo/baz example.com/foo/baz
Любой отдельный сегмент пути ( * ) 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

Примечание. Этот шаблон не будет соответствовать example.com/foo .

Произвольный суффикс пути ( ** ) 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
Первый сегмент субдомена ( * ) *.example.com/foo bar.example.com/foo
baz.example.com/foo

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

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

Чтобы просмотреть только пользовательские шаблоны URL-адресов, выберите «Пользовательские шаблоны» в раскрывающемся меню на подвкладке «Сетевые запросы» таблицы трассировок. Обратите внимание: если пользовательский шаблон URL-адреса не содержит агрегированных данных, он отображается только в этом списке.

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

Удаление пользовательского шаблона URL

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

  1. На панели мониторинга «Производительность» прокрутите вниз до таблицы трассировок, затем выберите вложенную вкладку «Сетевые запросы» .

  2. Выберите Пользовательские шаблоны в раскрывающемся меню на подвкладке Сетевые запросы .

  3. Наведите указатель мыши на строку пользовательского шаблона URL-адреса, которую вы хотите удалить.

  4. Нажмите в крайнем правом углу строки, выберите «Удалить пользовательский узор» и подтвердите удаление в диалоговом окне.

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

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

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

    Вы по-прежнему можете получить доступ к удаленному пользовательскому шаблону URL-адреса и его агрегированным данным на подвкладке «Сетевые запросы» (с выбранным параметром «Все сетевые запросы ») до окончания соответствующего периода хранения данных. Когда срок действия всех агрегированных данных в удаленном пользовательском шаблоне URL-адреса истечет, Firebase удалит этот собственный шаблон URL-адреса.

  • На подвкладке «Сетевые запросы» (с выбранным «Пользовательские шаблоны» ) не отображаются удаленные пользовательские шаблоны URL-адресов.

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

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

Настройте способ расчета показателя успеха

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

В частности, Firebase автоматически считает сетевые запросы с кодом ответа в диапазоне 100–399 успешными ответами.

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

Например, если в вашем приложении есть API конечной точки поиска, вы можете считать ответы 404 «успешными», поскольку для конечной точки поиска ожидаются ответы 404. Предположим, что для этой конечной точки поиска каждый час поступает 100 образцов, 60 из них — это 200 ответов, а 40 — 404 ответа. Прежде чем вы настроите вероятность успеха, она будет составлять 60%. После того, как вы настроите расчет вероятности успеха так, чтобы ответы 404 считались успешными, вероятность успеха составит 100 %.

Настроить расчет вероятности успеха

Чтобы настроить расчет вероятности успеха для шаблона сетевых URL-адресов, у вас должно быть разрешение firebaseperformance.config.update . Следующие роли включают это необходимое разрешение по умолчанию: администратор производительности Firebase , администратор качества Firebase , администратор Firebase и владелец или редактор проекта.

  1. Перейдите на вкладку «Панель Performance Monitoring » в консоли Firebase , затем выберите приложение, для которого вы хотите настроить расчет показателя успеха.
  2. Прокрутите вниз до таблицы трассировок в нижней части экрана и выберите вкладку Сетевые запросы .
  3. Найдите шаблон URL-адреса, для которого вы хотите настроить расчет вероятности успеха.
  4. В крайнем правом углу строки откройте дополнительное меню ( ) и выберите «Настроить показатель успеха» .
  5. Следуйте инструкциям на экране, чтобы выбрать коды ответов, которые вы хотите считать кодами успешных ответов.