Performance Monitoring использует трассировки для сбора данных об отслеживаемых процессах в приложении. Трассировка – это отчет, содержащий данные, собранные между двумя моментами времени в приложении.
Для приложений Apple и Android Performance Monitoring автоматически измеряет производительность рендеринга разных экранов. Performance Monitoring создает трассировку отрисовки экрана для каждого экрана в приложении. Эти трассировки собирают и измеряют следующие показатели:
Кадры с медленной отрисовкой. Процент экземпляров экрана, отрисовка которых занимает более 16 мс.
Зависающие кадры. Процент экранов, отрисовка которых занимает более 700 мс.
Медленные или зависшие кадры в приложении могут привести к снижению производительности устройства, также известному как задержка или лаг. Отслеживание показателей зависания и медленной отрисовки кадров поможет вам выявить экраны с низкой производительностью и улучшить работу приложения.
Данные трассировок отрисовки экрана можно посмотреть на вкладке Отрисовка экрана в таблице трассировок. Таблица трассировок находится внизу страницы Эффективность в консоли Firebase. Подробнее о том, как отслеживать, просматривать и фильтровать данные об эффективности…
Показатели, собираемые при трассировке отрисовки экрана
Это стандартные трассировки, поэтому вы не можете добавлять в них специальные показатели или настраиваемые атрибуты.
При расчете медленной отрисовки и зависания кадров предполагается, что частота обновления экрана устройства составляет 60 Гц. Если частота обновления устройства ниже 60 Гц, время отрисовки каждого кадра будет больше, поскольку за секунду отрисовывается меньше кадров. Чем больше времени уходит на отрисовку, тем больше медленных или зависших кадров будет зарегистрировано. Однако если частота обновления экрана устройства выше 60 Гц, время отрисовки каждого кадра будет меньше. Это может привести к тому, что в отчетах будет меньше медленных или зависших кадров. Это текущее ограничение в Performance Monitoring SDK.
Медленная отрисовка кадров
Этот показатель представляет собой процент сеансов, в которых наблюдалась заметная медленная отрисовка определенного экрана. Этот показатель представляет собой процент экземпляров экрана, в которых время формирования более 50 % кадров превысило 16 мс.
Зависающие кадры
Этот показатель представляет собой процент сеансов, в которых на определенном экране было заметно много зависших кадров. Этот показатель представляет собой процент экземпляров экрана, в которых время отрисовки более 0,1 % кадров превысило 700 мс.
Как создаются трассировки отрисовки экрана?
Начинается для каждого UIViewController в keyWindow, когда приложение вызывает
viewDidAppear:.Останавливается, когда приложение вызывает
viewDidDisappear:.
Обратите внимание, что трассировки отрисовки экрана не фиксируют канонические контроллеры представления контейнера.
Как отслеживать, просматривать и фильтровать данные об эффективности
Чтобы просматривать данные об эффективности в реальном времени, убедитесь, что в вашем приложении используется версия SDK Performance Monitoring, совместимая с обработкой данных в реальном времени. Подробнее о данных об эффективности в реальном времени…
Отслеживайте ключевые показатели на панели управления
Чтобы отслеживать динамику ключевых показателей, добавьте их на панель показателей в верхней части сводки Эффективность. Вы можете быстро выявлять регрессии, просматривая изменения за неделю, или проверять, улучшают ли производительность недавние изменения в коде.
Панель Firebase Performance Monitoring" />
Чтобы добавить показатель на панель, выполните следующие действия:
- Перейдите на панель управления Производительность в консоли Firebase.
- Нажмите на пустую карточку показателя и выберите показатель, который хотите добавить на доску.
- Нажмите на значок на карточке показателя, чтобы открыть меню дополнительных действий, например для замены или удаления показателя.
На панели показателей собранные данные представлены в виде графика и процентного изменения.
Подробнее о том, как использовать главную панель…
Как посмотреть эффективность экранов в консоли
Чтобы посмотреть трассировки, перейдите на панель Производительность в консоли Firebase, прокрутите страницу вниз до таблицы трассировок и выберите нужную вкладку. В таблице показаны основные показатели для каждого трассировщика. Вы можете отсортировать список по процентному изменению определенного показателя.
В консоли Firebase есть страница устранения неполадок Performance Monitoring, на которой выделены изменения показателей. Это позволяет быстро устранять проблемы с производительностью и минимизировать их влияние на приложения и пользователей. Страница устранения неполадок может пригодиться, если вы узнали о возможных проблемах с эффективностью, например в следующих случаях:
- Вы выбираете нужные показатели на панели управления и замечаете большую разницу.
- В таблице трассировок вы сортируете данные, чтобы отобразить самые большие дельты вверху, и видите значительное процентное изменение.
- Вы получаете оповещение по электронной почте о проблеме производительности.
Перейти на страницу устранения неполадок можно следующими способами:
- На панели показателей нажмите кнопку Посмотреть сведения о показателе.
- На любой карточке показателя нажмите
=> Подробнее . На странице устранения неполадок появится информация о выбранном показателе. - В таблице трассировок нажмите на название трассировки или на любое значение показателя в строке, связанной с этой трассировкой.
- В оповещении по электронной почте нажмите Проверить.
Нажав на название трассировки в таблице, вы можете перейти к интересующим вас показателям. Нажмите кнопку
Данные Firebase Performance Monitoring, отфильтрованные по атрибуту" />
- Отфильтруйте данные по версии приложения, чтобы посмотреть информацию о предыдущем или последнем выпуске.
- Отфильтруйте данные по устройству, чтобы узнать, как ваше приложение работает на устаревших моделях.
- Отфильтруйте данные по стране, чтобы убедиться, что местоположение базы данных не влияет на определенный регион.
Подробнее о том, как просматривать данные трассировки…
Дальнейшие действия
Подробнее о том, как использовать атрибуты для анализа данных об эффективности…
Подробнее о том, как отслеживать проблемы производительности в консоли Firebase…