Performance Monitoring собирает трассировки, которые помогают отслеживать производительность приложения. Трассировка – это отчет о данных производительности, собранных между двумя моментами времени в приложении.
Вы можете создавать собственные трассировки, чтобы отслеживать данные об эффективности, связанные с определенным кодом в вашем приложении. С помощью трассировки пользовательского кода вы можете измерить, сколько времени требуется вашему приложению для выполнения определенной задачи или набора задач, например загрузки набора изображений или запроса к базе данных.
По умолчанию для трассировки пользовательского кода используется показатель "длительность" (время между начальной и конечной точками трассировки), но вы также можете добавить пользовательские показатели.
В коде вы определяете начало и конец трассировки пользовательского кода с помощью API, предоставляемых Performance Monitoring SDK.
Трассировки пользовательского кода можно запускать в любое время после их создания, и они являются потокобезопасными.
Поскольку по умолчанию для этих трассировок собирается показатель "продолжительность", их иногда называют трассировками продолжительности.
Данные этих трассировок можно посмотреть на вложенной вкладке Специальные трассировки в таблице трассировок внизу панели Эффективность. Подробнее об использовании консоли рассказывается ниже.
Стандартные и настраиваемые атрибуты, а также специальные показатели
Для трассировок специального кода Performance Monitoring автоматически регистрирует атрибуты по умолчанию (общие метаданные, такие как версия приложения, страна, устройство и т. д.), чтобы вы могли фильтровать данные для трассировки в консоли Firebase. Вы также можете добавлять и отслеживать настраиваемые атрибуты (например, уровень игры или свойства пользователя).
Вы можете настроить трассировку специального кода, чтобы регистрировать специальные показатели для событий, связанных с производительностью, которые происходят в рамках трассировки. Например, вы можете создать пользовательский показатель для количества совпадений и несовпадений в кеше или для количества случаев, когда пользовательский интерфейс перестает отвечать на запросы в течение заметного периода времени.
Настраиваемые атрибуты и специальные показатели отображаются в консоли Firebase рядом со стандартными атрибутами и стандартными показателями для трассировки.
Как добавить трассировки пользовательского кода
Используйте Performance Monitoring Trace API, чтобы добавить пользовательские трассировки кода для мониторинга определенного кода приложения.
Обратите внимание:
- В приложении может быть несколько пользовательских трассировок кода.
- Одновременно может выполняться несколько трассировок специального кода.
- Названия трассировок специального кода должны соответствовать следующим требованиям: не содержать пробелов в начале и конце, не начинаться с символа подчеркивания (
_) и не превышать 100 символов. - Трассировки пользовательского кода поддерживают добавление пользовательских показателей и настраиваемых атрибутов.
Чтобы запустить и остановить трассировку специального кода, заключите код, который вы хотите отслеживать, в код, аналогичный следующему:
Trace customTrace = FirebasePerformance.instance.newTrace('custom-trace');
await customTrace.start();
// Code you want to trace
await customTrace.stop();
Как добавить специальные показатели в трассировки пользовательского кода
Используйте Performance Monitoring Trace API, чтобы добавить специальные показатели в трассировки пользовательского кода.
Обратите внимание:
- Названия специальных показателей должны соответствовать следующим требованиям: не содержать пробелов в начале и конце, не начинаться с символа подчеркивания (
_) и не превышать 100 символов. - Каждая трассировка пользовательского кода может записывать до 32 показателей (включая показатель Продолжительность по умолчанию).
Чтобы добавить специальный показатель, добавляйте строку кода, подобную приведенной ниже, каждый раз, когда происходит событие. Например, этот специальный показатель подсчитывает события, связанные с производительностью, которые происходят в вашем приложении, такие как попадания в кеш или повторные попытки.
Trace customTrace = FirebasePerformance.instance.newTrace("custom-trace");
await customTrace.start();
// Code you want to trace
customTrace.incrementMetric("metric-name", 1);
// More code
await customTrace.stop();
Как создать настраиваемые атрибуты для трассировок пользовательского кода
Чтобы использовать настраиваемые атрибуты, добавьте в приложение код, который определяет атрибут и связывает его с определенным следом пользовательского кода. Задать специальный атрибут можно в любой момент между началом и окончанием трассировки.
Обратите внимание:
Названия настраиваемых атрибутов должны соответствовать следующим требованиям: не содержать пробелов в начале и конце, не начинаться с символа подчеркивания (
_) и не превышать 32 символа.Каждая трассировка специального кода может записывать до 5 настраиваемых атрибутов.
Не используйте настраиваемые атрибуты, содержащие информацию, позволяющую идентифицировать личность.
Trace trace = FirebasePerformance.instance.newTrace("test_trace");
// Update scenario.
trace.putAttribute("experiment", "A");
// Reading scenario.
String? experimentValue = trace.getAttribute("experiment");
// Delete scenario.
trace.removeAttribute("experiment");
// Read attributes.
Map<String, String> traceAttributes = trace.getAttributes();
Как отслеживать, просматривать и фильтровать данные об эффективности
Как отслеживать определенные показатели на панели управления
Чтобы отслеживать динамику ключевых показателей, добавьте их на сводку показателей в верхней части панели Эффективность. Вы можете быстро выявлять регрессии, сравнивая данные за разные недели, или проверять, улучшают ли производительность недавние изменения в коде.
Чтобы добавить показатель на панель показателей, перейдите на панель управления Производительность в консоли Firebase и откройте вкладку Панель управления. Нажмите на пустую карточку показателя и выберите показатель, который хотите добавить на сводку. Нажмите на значок с тремя вертикальными точками (⋮) на карточке показателя, чтобы увидеть дополнительные параметры, например замену или удаление показателя.
На панели показателей представлены собранные данные за определенный период времени в виде графика и процентного изменения.
Подробнее о том, как использовать главную панель…
Как посмотреть трассировки и их данные
Чтобы посмотреть трассировки, перейдите на панель управления Эффективность в консоли Firebase, прокрутите страницу вниз до таблицы трассировок и выберите нужную вкладку. В таблице показаны основные показатели для каждого трассировщика. Вы можете отсортировать список по процентному изменению определенного показателя.
Если нажать на название трассировки в таблице, вы сможете перейти к различным экранам, чтобы изучить трассировку и получить подробные сведения об интересующих вас показателях. На большинстве страниц можно использовать кнопку Фильтр (в левом верхнем углу экрана), чтобы отфильтровать данные по атрибуту, например:
- Отфильтруйте данные по версии приложения, чтобы посмотреть информацию о предыдущем или последнем выпуске.
- Фильтр Устройство позволяет узнать, как приложение работает на старых устройствах.
- Отфильтруйте данные по стране, чтобы убедиться, что местоположение базы данных не влияет на определенный регион.
Подробнее о том, как просматривать данные трассировки…
Дальнейшие действия
Подробнее о том, как использовать атрибуты для анализа данных об эффективности…
Подробнее о том, как отслеживать проблемы производительности в консоли Firebase…
Настройте оповещения об изменениях кода, которые снижают производительность приложения. Например, вы можете настроить оповещение по электронной почте для своей команды, если продолжительность определенной трассировки пользовательского кода превышает установленный вами порог.