Настройка оповещений о проблемах с производительностью

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

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

Что вызывает предупреждение?

Оповещение срабатывает, когда показатель вашего приложения пересекает пороговое значение, которое вы определяете для указанного процентиля (если применимо) в консоли Firebase . Оповещения срабатывают только в том случае, если ваше приложение использует версию SDK, совместимую с режимом реального времени .

время запуска приложения

Когда вы настраиваете оповещение о времени запуска приложения, оно срабатывает, если выполняются все следующие условия:

  • За последний час Firebase записала не менее 100 образцов трассировки _app_start для последней версии вашего приложения.
  • Продолжительность трассировки _app_start превысила определенный порог приложения в течение последнего часа и для настроенного процентиля.
  • Ранее в последней версии вашего приложения не было создано никаких предупреждений для того же порога.

трассировки пользовательского кода

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

  • За последний час Firebase записала не менее 100 образцов трассировки пользовательского кода для последней версии вашего приложения.
  • Продолжительность трассировки превысила определенный порог приложения в течение последнего часа и для настроенного процентиля.
  • (Только для iOS+ и Android) Ранее в последней версии вашего приложения не выдавалось оповещений для того же порога.
  • (Только для Интернета) Ранее за последние 3 дня не было создано ни одного оповещения для того же порога.

сетевые запросы

Когда вы настраиваете оповещение для метрики сетевых запросов, оно срабатывает, если выполняются все следующие условия:

  • За последний час Firebase записала не менее 100 образцов , соответствующих шаблону URL-адресов, во всех версиях вашего приложения.
  • Агрегированное значение показателя превысило определенный порог за последний час:
    • время ответа : агрегированное значение превысило установленный порог для настроенного процентиля
    • показатель успеха : (только для iOS+/Android) совокупное значение стало ниже установленного порога для всех пользователей.
  • За последние 3 дня ранее не поступало никаких предупреждений для того же порога.

рендеринг экрана

Когда вы настраиваете оповещение для метрики рендеринга экрана, оно срабатывает, если выполняются все следующие условия:

  • За последний час Firebase записала не менее 100 образцов рендеринга экрана для последней версии вашего приложения.
  • Агрегированное значение показателя превысило определенный порог за последний час:
    • замороженные кадры : совокупное значение превысило установленный порог
    • медленные кадры : совокупное значение превысило установленный порог
  • Ранее в последней версии вашего приложения не было создано никаких предупреждений для того же порога.

загрузка страниц

Когда вы настраиваете оповещение для метрики загрузки страницы, оно срабатывает, если выполняются все следующие условия:

  • Firebase зафиксировала не менее 100 примеров загрузки страницы вашего приложения за последний час.
  • Агрегированное значение показателя превысило определенный порог за последний час и для настроенного процентиля:
    • первая задержка ввода : агрегированное значение превысило установленный порог и настроенный процентиль
    • первая содержательная отрисовка : агрегированное значение превысило установленный порог и настроенный процентиль
    • первая краска : агрегированное значение превысило установленный порог и настроенный процентиль
  • За последние 3 дня ранее не поступало никаких предупреждений для того же порога.

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

Оповещения о других показателях производительности или встроенной интеграции Firebase со Slack , Jira и PagerDuty недоступны для оповещений Performance Monitoring .

Получать оповещения

Получайте оповещения по умолчанию

По умолчанию Firebase может отправлять оповещения Performance Monitoring по электронной почте.

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

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

Включите/выключите оповещения для своей учетной записи

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

Чтобы включить или отключить оповещения Performance Monitoring , выполните следующие действия:

  1. В консоли Firebase в правом верхнем углу перейдите к Оповещения Firebase .
  2. Затем перейдите в Настройки и установите предпочтения своей учетной записи для оповещений Performance Monitoring .

Настройте расширенные оповещения для сторонних сервисов

Вы также можете отправлять оповещения Performance Monitoring на предпочтительный канал уведомлений вашей команды, используя Cloud Functions for Firebase . Например, вы можете написать функцию, которая фиксирует событие оповещения о медленном запуске приложения и отправляет информацию о оповещении в стороннюю службу, например Discord, Slack или Jira.

Чтобы настроить расширенные возможности оповещений с помощью Cloud Functions for Firebase , выполните следующие действия:

  1. Настройте Cloud Functions для Firebase , которая включает в себя следующие задачи:

    1. Настройте среду разработки для Node.js или Python.
    2. Установите и войдите в Firebase CLI.
    3. Инициализируйте Cloud Functions for Firebase с помощью интерфейса командной строки Firebase .
  2. Напишите и разверните функцию , которая фиксирует событие оповещения из Performance Monitoring и обрабатывает полезную нагрузку события (например, публикует информацию о оповещении в сообщении на Discord).

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

Автоматическое удаление недействительных оповещений

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

  • Оповещение создается для идентификатора ресурса, для которого Performance Monitoring получил данные за последние 90 дней.
  • Оповещение было создано недавно для пользовательского шаблона URL. После того как вы создадите собственный шаблон URL-адреса и настроите оповещение, у вас будет 90 дней на отправку данных для этого шаблона. Если в течение 90-дневного периода данные не отправляются, Performance Monitoring удаляет это предупреждение. Дополнительные сведения о пользовательских шаблонах URL-адресов см. в разделе Объединение данных по шаблонам URL-адресов клиентов .

Если какое-либо из этих условий не выполняется, Performance Monitoring удаляет предупреждение.

Настройка оповещения

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

Если вы еще этого не сделали, добавьте в свое приложение последнюю версию Performance Monitoring SDK. Для получения дополнительной информации см. руководства по началу работы для веб- платформ, Android , Apple и Flutter .

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

Настройте оповещение в таблице трассировок.

  1. Перейдите на вкладку «Панель Performance Monitoring в консоли Firebase , а затем выберите приложение, для которого вы хотите настроить оповещение.

  2. Прокрутите вниз до таблицы «Трассы» в нижней части экрана.

  3. Выберите вкладку типа трассировки, для которого вы хотите установить оповещение, а затем найдите соответствующую строку.

  4. В крайнем правом углу строки откройте дополнительное меню ( ) и выберите «Настройки оповещений» .

  5. Следуйте инструкциям на экране, чтобы установить порог оповещения и процентиль (если применимо) для приложения или включить/выключить оповещение. Процентили по умолчанию — 90-е для Android и iOS и 75-е для Интернета. Дополнительные сведения о процентилях по умолчанию см. в разделе Отслеживание ключевых показателей на информационной панели .

Настройка оповещения в карточке отчета Dashboard

  1. Перейдите на вкладку «Панель Performance Monitoring в консоли Firebase , а затем выберите приложение, для которого вы хотите настроить оповещение.

  2. На вкладке Карта отчета найдите карточку показателя, для которой вы хотите настроить оповещение.

  3. В нужной карточке метрики откройте меню переполнения ( ) и выберите «Настройки оповещений» .

  4. Следуйте инструкциям на экране, чтобы установить порог оповещения и процентиль (если применимо) для приложения или включить/выключить оповещение. Процентили по умолчанию — 90-е для Android и iOS и 75-е для Интернета. Дополнительные сведения о процентилях по умолчанию см. в разделе Отслеживание ключевых показателей на информационной панели .

Рекомендации по настройке оповещения о производительности

Сетевые запросы

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

Настройте оповещения для ваших пользовательских шаблонов URL-адресов

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

Настройте оповещения об автоматических шаблонах URL-адресов.

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

Веб-страница загружается

Чтобы узнать рекомендуемые пороговые значения для измерения веб-показателей, см. документацию Core Web Vitals .

Визуализация экрана

Чтобы обеспечить оптимальную работу приложения, в пользовательских сеансах не должно быть медленных и зависших кадров. Performance Monitoring рекомендует настроить оповещения для зависших кадров, превышающих 1 %, и настроить оповещения для медленных кадров, превышающих 5 %. Вы обнаружите, что эти значения присутствуют в качестве настроек по умолчанию во время настройки оповещений о производительности. Дополнительную информацию о слишком медленных или зависших кадрах и других рекомендациях по повышению производительности приложений см. в руководстве Google Play .