Как настроить оповещения о проблемах производительности

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

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

Что вызывает оповещение?

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

время начала работы приложения

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

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

трассировки собственного кода;

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

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

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

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

  • За последний час 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 for Firebase, выполнив следующие действия:

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

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

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

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

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

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

Как настроить оповещение

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

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

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

Как настроить оповещение в таблице трассировок

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

  2. Прокрутите страницу вниз до таблицы трассировок.

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

  4. В правой части строки откройте дополнительное меню и выберите Настройки оповещений.

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

Как настроить оповещение в карточке отчета на панели управления

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

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

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

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

Рекомендации по настройке оповещений об эффективности

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

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

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

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

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

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

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

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

Отрисовка экрана

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