Performance Monitoring использует трассировку для сбора данных о контролируемых процессах в вашем приложении. Трассировка — это отчет, содержащий данные, полученные в вашем приложении в промежутке времени между двумя точками.
Для приложений Apple и Android Performance Monitoring автоматически измеряет производительность отрисовки различных экранов вашего приложения. Performance Monitoring создает трассировку отрисовки экрана для каждого экрана вашего приложения. Эти трассировки собирают и измеряют следующие метрики:
Медленная отрисовка кадров — Измеряет процент экземпляров экрана, отрисовка которых занимает более 16 мс.
Замороженные кадры — Измеряет процент экземпляров экрана, отрисовка которых занимает более 700 мс.
Медленная или зависшая отрисовка кадров в вашем приложении может привести к снижению производительности устройства, также известному как «рывки» или «задержка». Сбор метрик зависших и медленно отрисовываемых кадров поможет вам выявить экраны с низкой производительностью, что позволит улучшить производительность отрисовки вашего приложения.
Данные трассировки отрисовки экрана можно просмотреть на вкладке «Отрисовка экрана» в таблице трассировки. Таблица трассировки находится в нижней части страницы «Производительность» консоли Firebase . Для получения дополнительной информации см. раздел «Отслеживание, просмотр и фильтрация данных о производительности» .
Метрики, собранные с помощью трассировки отрисовки экрана.
Эти трассировки являются стандартными, поэтому вы не можете добавлять к ним пользовательские метрики или атрибуты.
Медленная отрисовка кадров и зависание кадров рассчитываются исходя из предполагаемой частоты обновления устройства 60 Гц. Если частота обновления устройства ниже 60 Гц, время отрисовки каждого кадра будет меньше, поскольку в секунду отрисовывается меньше кадров. Более медленное время отрисовки может привести к увеличению количества сообщений о медленных или зависших кадрах, поскольку больше кадров будут отрисовываться медленнее или зависать. Однако, если частота обновления устройства выше 60 Гц, время отрисовки каждого кадра будет меньше. Это может привести к уменьшению количества сообщений о медленных или зависших кадрах. Это текущее ограничение в SDK Performance Monitoring .
Медленная отрисовка кадров
Этот показатель отражает процент пользовательских сессий, в которых наблюдалось заметное замедление отрисовки конкретного экрана. В частности, это процент случаев, когда более 50% кадров отображались дольше 16 мс.
Застывшие кадры
Этот показатель отражает процент пользовательских сессий, в которых наблюдалось заметное количество зависаний кадров на конкретном экране. В частности, этот показатель представляет собой процент случаев, когда более 0,1% кадров отображались дольше 700 мс.
Как генерируются трассировки отрисовки экрана?
Каждый трассировочный файл отрисовки экрана идентифицируется по имени элемента представления в вашем приложении. Клиент Performance Monitoring создает трассировочные файлы отрисовки экрана для каждой Activity или Fragment , используемой вашим приложением.
Каждый процесс отрисовки экрана выполняет следующие действия:
Запускается для каждого класса активности и фрагмента, когда объект становится видимым на экране.
OnActivityStarted()для активностей иOnFragmentResume()для фрагментов.Останавливает выполнение для каждого класса активности и фрагмента, когда объект не виден на экране. Для активностей используется
OnActivityStopped(), а для фрагментовOnFragmentPaused().
Отслеживайте, просматривайте и фильтруйте данные о производительности.
Для просмотра данных о производительности в реальном времени убедитесь, что ваше приложение использует версию SDK для мониторинга производительности, совместимую с обработкой данных в реальном времени. Узнайте больше о данных о производительности в реальном времени .
Отслеживайте ключевые показатели на своей панели управления.
Чтобы узнать, как меняются ваши ключевые показатели, добавьте их на доску метрик в верхней части панели мониторинга производительности . Вы можете быстро выявить регрессии, увидев изменения за неделю, или убедиться, что недавние изменения в вашем коде улучшают производительность.
Панель мониторинга производительности Firebase" />Чтобы добавить метрику на доску метрик, выполните следующие действия:
- Перейдите на панель мониторинга «Производительность» в консоли Firebase .
- Щелкните по пустой карточке показателя, затем выберите существующий показатель, чтобы добавить его на доску.
- Нажмите кнопку на заполненной карточке показателя, чтобы получить дополнительные параметры, например, заменить или удалить показатель.
На панели показателей отображаются собранные данные о метриках за определенный период времени, как в графическом виде, так и в виде числового процентного изменения.
Узнайте больше об использовании панели управления .
Просмотр производительности экрана на консоли
Чтобы просмотреть трассировки, перейдите на панель мониторинга «Производительность» в консоли Firebase , прокрутите вниз до таблицы трассировок, а затем щелкните соответствующую подвкладку. В таблице отображаются некоторые ключевые показатели для каждой трассировки, и вы даже можете отсортировать список по процентному изменению для конкретного показателя.
В консоли Firebase Performance Monitoring предоставляет страницу устранения неполадок, которая отображает изменения метрик, что позволяет быстро выявлять и минимизировать влияние проблем с производительностью на ваши приложения и пользователей. Вы можете использовать эту страницу устранения неполадок, когда узнаете о потенциальных проблемах с производительностью, например, в следующих сценариях:
- Вы выбираете соответствующие показатели на панели мониторинга и замечаете большую разницу.
- В таблице результатов вы сортируете данные таким образом, чтобы наибольшие изменения отображались вверху, и видите значительное процентное изменение.
- Вы получите уведомление по электронной почте о проблеме с производительностью.
Доступ к странице устранения неполадок можно получить следующими способами:
- На панели мониторинга показателей нажмите кнопку « Просмотреть подробные сведения о показателе» .
- На любой метрической карте выберите
=> Просмотреть подробности . На странице устранения неполадок отображается информация о выбранном вами показателе. - В таблице трассировок щелкните имя трассировки или любое значение метрики в строке, связанной с этой трассировкой.
- В электронном письме с уведомлением нажмите «Провести расследование» .
При щелчке по названию трассировки в таблице трассировок вы можете перейти к просмотру интересующих вас метрик. Щелкните
Данные мониторинга производительности Firebase фильтруются по атрибуту" />- Используйте фильтр по версии приложения , чтобы просмотреть данные о предыдущих или последних версиях.
- Отфильтруйте результаты по устройству , чтобы узнать, как ваше приложение работает на старых устройствах.
- Используйте фильтр по стране , чтобы убедиться, что местоположение вашей базы данных не влияет на конкретный регион.
Узнайте больше о просмотре данных ваших трассировок .
Атрибуты фрагмента
В приложениях Android можно повторно использовать фрагменты с другими активностями или фрагментами. Производительность фрагмента может варьироваться в зависимости от того, в каком фрагменте или активности он отображается. Используйте следующие атрибуты, чтобы получить подробную информацию о производительности фрагмента внутри родительского фрагмента в зависимости от активности или фрагмента, с которым связан фрагмент:
Панель мониторинга производительности" />- Hosting_activity — Активность, на которой размещается фрагмент. Позволяет оценить производительность фрагмента в рамках этой активности.
- Parent_fragment — Родительский фрагмент исследуемого фрагмента. Позволяет оценить производительность фрагмента внутри родительского фрагмента. Если родительских фрагментов нет, атрибуту присваивается значение «Нет родительского фрагмента» .
Следующие шаги
Узнайте больше об использовании атрибутов для анализа данных о производительности.
Узнайте больше о том, как отслеживать проблемы с производительностью в консоли Firebase .