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


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

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

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

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

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

  • Доля успешных ответов — процент успешных ответов (коды ответов в диапазоне от 100 до 399) по сравнению с общим количеством ответов.

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

Performance Monitoring автоматически собирает метрики для сетевых запросов, которые используют следующие сетевые библиотеки:

Быстрый

  • URL-сессия
  • URL-соединение

Цель-C

  • NSURLSession
  • НСУРЛсоединение

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

Помимо готовых инструментов и агрегирования данных для сетевых запросов, 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-адресов могут быть следующими:

Например: любой из следующих 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-адреса для вашего приложения.

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

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

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

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

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

изображение доски показателей в <span class= Панель мониторинга производительности Firebase" />

Чтобы добавить метрику на доску метрик, выполните следующие действия:

  1. Перейдите на панель «Производительность» в консоли Firebase .
  2. Нажмите пустую карточку показателя, затем выберите существующий показатель, чтобы добавить его на доску.
  3. Нажмите на заполненной карточке показателя, чтобы просмотреть дополнительные параметры, например заменить или удалить показатель.

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

Узнайте больше об использовании информационной панели .

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

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

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

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

Вы можете получить доступ к странице устранения неполадок следующими способами:

  • На панели мониторинга показателей нажмите кнопку «Просмотреть сведения о метрике» .
  • На любой карточке показателя выберите => Посмотреть подробности . На странице устранения неполадок отображается информация о выбранной вами метрике.
  • В таблице трассировок щелкните имя трассировки или любое значение метрики в строке, связанной с этой трассировкой.
  • В уведомлении по электронной почте нажмите «Провести расследование» .

Щелкнув имя трассировки в таблице трассировок, вы сможете перейти к интересующим метрикам. Нажмите кнопку Кнопка фильтра для фильтрации данных по атрибуту, например:

изображение <span class= Данные мониторинга производительности Firebase фильтруются по атрибуту" />
  • Фильтруйте по версии приложения , чтобы просмотреть данные о предыдущей или последней версии приложения.
  • Отфильтруйте по устройству , чтобы узнать, как старые устройства обрабатывают ваше приложение.
  • Фильтруйте по стране , чтобы убедиться, что расположение вашей базы данных не влияет на определенный регион.

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

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

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