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

Используйте оповещения 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. Настройка облачных функций для Firebase , которая включает в себя следующие задачи:

    1. Настройте среду разработки для Node.js или Python.
    2. Установите и войдите в Firebase CLI.
    3. Инициализируйте Cloud Functions for Firebase с помощью Firebase CLI.
  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 Performance Admin , Firebase Quality Admin , Firebase Admin и Project Owner или Editor .

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

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

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

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

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

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

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

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

Настройте оповещение в карточке отчета панели мониторинга

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

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

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

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

Лучшие практики по настройке оповещений об эффективности

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

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

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

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

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

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

Загрузка веб-страницы

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

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

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