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

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

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

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

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

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

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

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

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

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

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

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

Используйте Performance Monitoring Trace 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, фильтруемых по атрибуту
  • Фильтр по App версии для просмотра данных о прошлом выпуске или ваш последний релиз
  • Фильтр по устройству , чтобы узнать , как старые устройства обрабатывать приложение
  • Фильтр по стране , чтобы убедиться , что ваше местоположение базы данных не влияет на регион конкретного

Подробнее о просмотре данных для ваших следов .

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

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