Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Добавить собственный мониторинг для определенного кода приложения

Мониторинг производительности собирает трассировки, чтобы помочь вам отслеживать производительность вашего приложения. Трассировка - это отчет о данных о производительности, собранных между двумя точками времени в вашем приложении.

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

Метрикой по умолчанию для пользовательской трассировки кода является ее «продолжительность» (время между начальной и конечной точками трассировки), но вы также можете добавить пользовательские метрики .

В своем коде вы определяете начало и конец пользовательской трассировки кода с помощью API-интерфейсов, предоставляемых SDK для мониторинга производительности. Трассировки пользовательского кода могут быть запущены в любое время после их создания, и они являются потокобезопасными.

Поскольку по умолчанию для этих трассировок собираются метрики «продолжительность», их иногда называют «трассами продолжительности».

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

Атрибуты по умолчанию, настраиваемые атрибуты и настраиваемые показатели

Для трассировки настраиваемого кода Performance Monitoring автоматически регистрирует атрибуты по умолчанию (общие метаданные, такие как версия приложения, страна, устройство и т. Д.), Чтобы вы могли фильтровать данные для трассировки в консоли Firebase. Вы также можете добавлять и отслеживать настраиваемые атрибуты (например, уровень игры или свойства пользователя).

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

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

Добавить следы пользовательского кода

Используйте API отслеживания производительности ( Swift | Obj-C ), чтобы добавить пользовательские трассировки кода для отслеживания кода конкретного приложения.

Обратите внимание на следующее:

  • Приложение может иметь несколько трассировок настраиваемого кода.
  • Одновременно может выполняться несколько пользовательских трассировок кода.
  • Имена для трассировки настраиваемого кода должны соответствовать следующим требованиям: без начальных и конечных пробелов, без начального подчеркивания ( _ ) и максимальная длина - 100 символов.
  • Трассировки пользовательского кода поддерживают добавление настраиваемых показателей и настраиваемых атрибутов .

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

Быстрый

// Add the Performance Monitoring module to your header
import FirebasePerformance

let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

// code that you want to trace

trace.stop()

Цель-C

// Add the Performance Monitoring module to your header
@import FirebasePerformance;

FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

// code that you want to trace

[trace stop];

Добавление пользовательских показателей к трассировкам пользовательского кода

Используйте API трассировки мониторинга производительности ( Swift | Obj-C ), чтобы добавить пользовательские метрики в трассировку пользовательского кода.

Обратите внимание на следующее:

  • Имена для настраиваемых показателей должны соответствовать следующим требованиям: без пробелов в начале и в конце, без символа подчеркивания ( _ ) в начале, максимальная длина - 100 символов.
  • Каждая трассировка настраиваемого кода может записывать до 32 метрик (включая метрику « Длительность» по умолчанию).

Чтобы добавить настраиваемую метрику, каждый раз при возникновении события добавляйте строку кода, подобную приведенной ниже. Например, этот специальный показатель подсчитывает связанные с производительностью события, которые происходят в вашем приложении, такие как попадания в кеш или повторные попытки.

Быстрый

let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

trace.incrementMetric(named:"EVENT_NAME", by: 1)
// code that you want to trace (and log custom metrics)

trace.stop()

Цель-C

FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

[trace incrementMetric:@"EVENT_NAME" by:1];
// code that you want to trace (and log custom metrics)

[trace stop];

Создание настраиваемых атрибутов для трассировки настраиваемого кода

Используйте API трассировки мониторинга производительности ( Swift | Obj-C ) для добавления настраиваемых атрибутов к трассировкам настраиваемого кода.

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

Обратите внимание на следующее:

  • Имена для настраиваемых атрибутов должны соответствовать следующим требованиям: без пробелов в начале и в конце, без символа подчеркивания ( _ ) в начале, максимальная длина - 32 символа.

  • Каждая трассировка настраиваемого кода может записывать до 5 настраиваемых атрибутов.

  • Вы не должны использовать настраиваемые атрибуты, которые содержат информацию, позволяющую Google идентифицировать человека.

    Узнать больше об этом руководстве

Быстрый

let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

trace.setValue("A", forAttribute: "experiment")

// Update scenario.
trace.setValue("B", forAttribute: "experiment")

// Reading scenario.
let experimentValue:String? = trace.valueForAttribute("experiment")

// Delete scenario.
trace.removeAttribute("experiment")

// Read attributes.
let attributes:[String, String] = trace.attributes;

Цель-C

FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

[trace setValue:@"A" forAttribute:@"experiment"];

// Update scenario.
[trace setValue:@"B" forAttribute:@"experiment"];

// Reading scenario.
NSString *experimentValue = [trace valueForAttribute:@"experiment"];

// Delete scenario.
[trace removeAttribute:@"experiment"];

// Read attributes.
NSDictionary <NSString *, NSString *> *attributes = [trace attributes];

Отслеживайте, просматривайте и фильтруйте данные о производительности

Отслеживайте определенные показатели на своей панели инструментов

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

изображение панели показателей на панели мониторинга Firebase Performance Monitoring.

Чтобы добавить метрику к вашей плате метрик, перейдите на приборную панель Performance в Firebase консоли, а затем нажмите на вкладку Сводки. Щелкните пустую карточку метрики, затем выберите существующую метрику, чтобы добавить ее на свою доску. Щелкните на заполненной карточке метрики, чтобы дополнительные параметры, например заменить или удалить метрику.

Доска показателей показывает собранные данные показателей с течением времени как в графической форме, так и в виде числового процентного изменения.

Узнайте больше об использовании панели управления .

Просмотр трассировок и их данных

Для просмотра следов, перейдите на приборную панель Performance в Firebase консоли, прокрутите вниз к столу следов, а затем нажмите на соответствующую подвкладку. В таблице отображаются некоторые основные показатели для каждой трассы, и вы даже можете отсортировать список по процентному изменению для конкретной метрики.

Если вы щелкнете имя трассы в таблице трассировок, вы сможете переходить по различным экранам, чтобы изучить трассу и перейти к интересующим метрикам. На большинстве страниц вы можете использовать кнопку фильтра (вверху слева на экране) для фильтрации данных по атрибуту, например:

изображение данных Firebase Performance Monitoring, фильтруемых по атрибуту
  • Отфильтруйте по версии приложения, чтобы просмотреть данные о прошлом выпуске или последнем выпуске.
  • Отфильтруйте по устройству, чтобы узнать, как старые устройства обрабатывают ваше приложение.
  • Выполните фильтрацию по стране, чтобы убедиться, что расположение вашей базы данных не влияет на конкретный регион.

Узнайте больше о просмотре данных для ваших трассировок .

Следующие шаги

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