Как настроить агрегирование данных о сетевых запросах

Firebase Performance Monitoring автоматически агрегирует данные по похожим сетевым запросам, чтобы вы могли отслеживать тенденции в их эффективности.

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

Агрегирование данных по шаблонам собственных URL

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

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

Firebase показывает все шаблоны URL (в том числе пользовательские) и агрегированные данные по ним на вложенной вкладке Сетевые запросы таблицы трассировок, которая находится внизу панели Эффективность в консоли Firebase.

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

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

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

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

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

При создании нового шаблона URL учитывайте следующее:

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

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

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

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

Создавать шаблоны URL могут только владельцы и редакторы проекта, но просматривать шаблоны и агрегированные данные могут все участники проекта.

Для одного приложения можно создать до 400 шаблонов специальных URL, а для одного домена в приложении – до 100.

Чтобы создать собственный шаблон 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 не удаляет шаблон из консоли Firebase. Вместо этого Firebase продолжает показывать "пустые" шаблоны URL в списке Специальные шаблоны на вкладке Сетевые запросы в таблице трассировок.

Как удалить шаблон URL

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

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

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

  3. Наведите указатель мыши на строку с шаблоном URL, который нужно удалить.

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

При удалении шаблона собственного URL учитывайте следующее:

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

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

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

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

Дальнейшие действия

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

Как настроить расчет доли успешных запросов

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

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

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

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

Настроить расчет доли успешных запросов

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

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