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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание. Этот продукт Firebase недоступен для macOS, Mac Catalyst и watchOS.
// 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()

Примечание. Этот продукт Firebase недоступен для macOS, Mac Catalyst и watchOS.
// 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 трассировки Performance Monitoring ( Swift | Obj-C ), чтобы добавлять пользовательские метрики в пользовательские трассировки кода.

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

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

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

Примечание. Этот продукт Firebase недоступен для macOS, Mac Catalyst и watchOS.
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()

Примечание. Этот продукт Firebase недоступен для macOS, Mac Catalyst и watchOS.
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

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

[trace stop];

Создание пользовательских атрибутов для пользовательских трассировок кода.

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

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

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

  • Имена настраиваемых атрибутов должны соответствовать следующим требованиям:

    • Нет начальных или конечных пробелов, нет начального символа подчеркивания ( _ ).
    • Нет пробелов
    • Максимальная длина — 32 символа.
    • Допустимые символы для имени: AZ , az и _ .
  • Каждая трассировка пользовательского кода может записывать до 5 пользовательских атрибутов.

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

Примечание. Этот продукт Firebase недоступен для macOS, Mac Catalyst и watchOS.
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;

Примечание. Этот продукт Firebase недоступен для macOS, Mac Catalyst и watchOS.
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];

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

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

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

изображение доски показателей в <span class= Панель мониторинга производительности Firebase" />

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

  1. Перейдите на панель «Производительность» в консоли Firebase .
  2. Нажмите пустую карточку показателя, затем выберите существующий показатель, чтобы добавить его на доску.
  3. Нажмите на заполненной карточке показателя, чтобы просмотреть дополнительные параметры, например заменить или удалить показатель.

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

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

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

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

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

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

Вы можете получить доступ к странице устранения неполадок следующими способами:

  • На панели мониторинга показателей нажмите кнопку « Просмотреть сведения о метрике» .
  • На любой карточке показателя выберите => Посмотреть подробности . На странице устранения неполадок отображается информация о выбранной вами метрике.
  • В таблице трассировок щелкните имя трассировки или любое значение метрики в строке, связанной с этой трассировкой.
  • В уведомлении по электронной почте нажмите «Провести расследование» .

Щелкнув имя трассировки в таблице трассировок, вы сможете перейти к интересующим метрикам. Нажмите кнопку Кнопка фильтра для фильтрации данных по атрибуту, например:

изображение <span class= Данные мониторинга производительности Firebase фильтруются по атрибуту" />
  • Фильтруйте по версии приложения , чтобы просмотреть данные о предыдущей или последней версии приложения.
  • Отфильтруйте по устройству , чтобы узнать, как старые устройства обрабатывают ваше приложение.
  • Фильтруйте по стране , чтобы убедиться, что расположение вашей базы данных не влияет на определенный регион.

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

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

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

  • Узнайте больше о том, как отслеживать проблемы с производительностью в консоли Firebase .

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

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


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

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

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

В вашем коде вы определяете начало и конец пользовательского трассировки кода, используя API, предоставленные SDK Performance Monitoring .Пользовательские следы кода могут быть запущены в любое время после их создания, и они безопасны.

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

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

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

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

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

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

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

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

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

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

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

Примечание. Этот продукт Firebase недоступен на MacOS, Mac Catalyst, WatchOS Targets.
// 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()

Примечание. Этот продукт Firebase недоступен на MacOS, Mac Catalyst, WatchOS Targets.
// 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 TRACE Performance Monitoring ( Swift | obj-C ), чтобы добавить пользовательские метрики в пользовательские трассировки кода.

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

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

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

Примечание. Этот продукт Firebase недоступен на MacOS, Mac Catalyst, WatchOS Targets.
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()

Примечание. Этот продукт Firebase недоступен на MacOS, Mac Catalyst, WatchOS Targets.
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

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

[trace stop];

Создать пользовательские атрибуты для пользовательских трассов кода

Используйте API TRACE Performance Monitoring ( SWIFT | OBJ-C ), чтобы добавить пользовательские атрибуты в пользовательские следы кода.

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

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

  • Имена для пользовательских атрибутов должны соответствовать следующим требованиям:

    • Нет ведущего или следственного пробела, нет ведущего подчеркивания ( _ ) символов
    • Нет мест
    • Максимальная длина - 32 символа
    • Разрешенные символы для имени - это AZ , az и _ .
  • Каждый пользовательский трассировку может записывать до 5 пользовательских атрибутов.

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

Примечание. Этот продукт Firebase недоступен на MacOS, Mac Catalyst, WatchOS Targets.
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;

Примечание. Этот продукт Firebase недоступен на MacOS, Mac Catalyst, WatchOS Targets.
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];

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

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

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

изображение доски метрик в <Span Class = Мониторинг мониторинга производительности Firebase " />

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

  1. Перейдите на приборную панель Performance в консоли Firebase .
  2. Нажмите на пустую метрическую карту, затем выберите существующую метрику, чтобы добавить на свою плату.
  3. Нажмите на заполненной метрической карте для получения дополнительных параметров, например, для замены или удаления метрики.

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

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

Просмотреть следы и их данные

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

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

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

Вы можете получить доступ к странице устранения неполадок следующими способами:

  • На метрической панели инструментов нажмите кнопку «Просмотр метрических сведений» .
  • На любой метрической карте выберите => Просмотреть детали . На странице устранения неполадок отображается информация об выбранной вами метрике.
  • В таблице трассы нажмите на имя трассировки или любое значение метрического значения в строке, связанном с этой трассировкой.
  • В предупреждении по электронной почте нажмите «Расследовать сейчас» .

Когда вы нажимаете на имя трассировки в таблице «Тлаги», вы можете сверлить в интересующих показателях. Нажмите кнопку Кнопка « фильтр» , чтобы отфильтровать данные по атрибуту, например:

изображение <span class = Данные мониторинга производительности Firebase фильтруются атрибутом " />
  • Фильтр от версии приложения для просмотра данных о прошедшем выпуске или о вашем последнем выпуске
  • Фильтр от устройства , чтобы узнать, как старые устройства обрабатывают ваше приложение
  • Отфильтруйте страну , чтобы убедиться, что местоположение в базе данных не влияет на конкретный регион

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

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

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

  • Узнайте больше о том, как отслеживать проблемы с производительностью в консоли Firebase .

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

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


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

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

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

В вашем коде вы определяете начало и конец пользовательского трассировки кода, используя API, предоставленные SDK Performance Monitoring .Пользовательские следы кода могут быть запущены в любое время после их создания, и они безопасны.

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

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

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

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

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

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

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

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

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

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

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

Примечание. Этот продукт Firebase недоступен на MacOS, Mac Catalyst, WatchOS Targets.
// 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()

Примечание. Этот продукт Firebase недоступен на MacOS, Mac Catalyst, WatchOS Targets.
// 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 TRACE Performance Monitoring ( Swift | obj-C ), чтобы добавить пользовательские метрики в пользовательские трассировки кода.

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

  • Names for custom metrics must meet the following requirements: no leading or trailing whitespace, no leading underscore ( _ ) character, and max length is 100 characters.
  • Each custom code trace can record up to 32 metrics (including the default Duration metric).

To add a custom metric, add a line of code similar to the following each time that the event occurs. For example, this custom metric counts performance- related events that occur in your app, such as cache hits or retries.

Note: This Firebase product is not available on macOS, Mac Catalyst, watchOS targets.
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()

Note: This Firebase product is not available on macOS, Mac Catalyst, watchOS targets.
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

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

[trace stop];

Create custom attributes for custom code traces

Use the Performance Monitoring Trace API ( Swift | Obj-C ) to add custom attributes to custom code traces.

To use custom attributes, add code to your app that defines the attribute and associates it with a specific custom code trace. You can set the custom attribute anytime between when the trace starts and when the trace stops.

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

  • Names for custom attributes must meet the following requirements:

    • No leading or trailing whitespace, no leading underscore ( _ ) character
    • No spaces
    • Max length is 32 characters
    • Allowed characters for the name are AZ , az , and _ .
  • Each custom code trace can record up to 5 custom attributes.

  • Please ensure that custom attributes do not contain any information that personally identifies an individual to Google.

Note: This Firebase product is not available on macOS, Mac Catalyst, watchOS targets.
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;

Note: This Firebase product is not available on macOS, Mac Catalyst, watchOS targets.
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];

Track, view, and filter performance data

Track specific metrics in your dashboard

To learn how your key metrics are trending, add them to your metrics board at the top of the Performance dashboard. You can quickly identify regressions by seeing week-over-week changes or verify that recent changes in your code are improving performance.

an image of the metrics board in the <span class=Firebase Performance Monitoring dashboard" />

To add a metric to your metrics board, follow these steps:

  1. Go to the Performance dashboard in the Firebase console.
  2. Click an empty metric card, then select an existing metric to add to your board.
  3. Click on a populated metric card for more options, for example to replace or remove a metric.

The metrics board shows collected metric data over time, both in graphical form and as a numerical percentage change.

Learn more about using the dashboard .

View traces and their data

To view your traces, go to the Performance dashboard in the Firebase console, scroll down to the traces table, then click the appropriate subtab. The table displays some top metrics for each trace, and you can even sort the list by the percentage change for a specific metric.

Performance Monitoring provides a troubleshooting page in the Firebase console that highlights metric changes, making it easy to quickly address and minimize the impact of performance issues on your apps and users. You can use the troubleshooting page when you learn about potential performance issues, for example, in the following scenarios:

  • You select relevant metrics on the dashboard and you notice a big delta.
  • In the traces table you sort to display the largest deltas at the top, and you see a significant percentage change.
  • You receive an email alert notifying you of a performance issue.

You can access the troubleshooting page in the following ways:

  • On the metric dashboard, click the View metric details button.
  • On any metric card, select => View details . The troubleshooting page displays information about the metric you selected.
  • In the traces table, click a trace name or any metric value in the row associated with that trace.
  • In an email alert, click Investigate now .

When you click a trace name in the traces table, you can then drill down into metrics of interest. Нажмите кнопку Filter button to filter the data by attribute, for example:

an image of <span class=Firebase Performance Monitoring data being filtered by attribute" />
  • Filter by App version to view data about a past release or your latest release
  • Filter by Device to learn how older devices handle your app
  • Filter by Country to make sure your database location isn't affecting a specific region

Learn more about viewing data for your traces .

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

  • Learn more about using attributes to examine performance data.

  • Learn more about how to track performance issues in the Firebase console.

  • Set up alerts for code changes that are degrading the performance of your app. For example, you can configure an email alert for your team if the duration of a specific custom code trace exceeds a threshold that you set.

  • View detailed reports of user sessions in which you can see a specific trace in a timeline context of other traces collected during the same session.
,


Performance Monitoring collects traces to help you monitor the performance of your app. A trace is a report of performance data captured between two points in time in your app.

You can create your own traces to monitor performance data associated with specific code in your app. With a custom code trace , you can measure how long it takes your app to complete a specific task or a set of tasks, for example loading a set of images or querying your database.

The default metric for a custom code trace is its "duration" (the time between the starting and stopping points of the trace), but you can add custom metrics , as well.

In your code, you define the beginning and the end of a custom code trace using the APIs provided by the Performance Monitoring SDK.Custom code traces can be started anytime after they've been created, and they are thread safe.

Since the default metric collected for these traces is "duration", they are sometimes called "Duration traces".

You can view data from these traces in the Custom traces subtab of the traces table, which is at the bottom of the Performance dashboard (learn more about using the console later on this page).

Default attributes, custom attributes, and custom metrics

For custom code traces, Performance Monitoring automatically logs default attributes (common metadata like app version, country, device, etc.) so that you can filter the data for the trace in the Firebase console. You can also add and monitor custom attributes (such as, game level or user properties).

You can further configure a custom code trace to record custom metrics for performance-related events that occur within the trace's scope. For example, you can create a custom metric for the number of cache hits and misses or the number of times that the UI becomes unresponsive for a noticeable period of time.

Custom attributes and custom metrics display in the Firebase console alongside the default attributes and default metric for the trace.

Add custom code traces

Use the Performance Monitoring Trace API ( Swift | Obj-C ) to add custom code traces to monitor specific application code.

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

  • An app can have multiple custom code traces.
  • More than one custom code trace can run at the same time.
  • Names for custom code traces must meet the following requirements: no leading or trailing whitespace, no leading underscore ( _ ) character, and max length is 100 characters.
  • Custom code traces support adding custom metrics and custom attributes .

To start and stop a custom code trace, wrap the code that you want to trace with lines of code similar to the following:

Note: This Firebase product is not available on macOS, Mac Catalyst, watchOS targets.
// 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()

Note: This Firebase product is not available on macOS, Mac Catalyst, watchOS targets.
// 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];

Add custom metrics to custom code traces

Use the Performance Monitoring Trace API ( Swift | Obj-C ) to add custom metrics to custom code traces.

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

  • Names for custom metrics must meet the following requirements: no leading or trailing whitespace, no leading underscore ( _ ) character, and max length is 100 characters.
  • Each custom code trace can record up to 32 metrics (including the default Duration metric).

To add a custom metric, add a line of code similar to the following each time that the event occurs. For example, this custom metric counts performance- related events that occur in your app, such as cache hits or retries.

Note: This Firebase product is not available on macOS, Mac Catalyst, watchOS targets.
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()

Note: This Firebase product is not available on macOS, Mac Catalyst, watchOS targets.
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

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

[trace stop];

Create custom attributes for custom code traces

Use the Performance Monitoring Trace API ( Swift | Obj-C ) to add custom attributes to custom code traces.

To use custom attributes, add code to your app that defines the attribute and associates it with a specific custom code trace. You can set the custom attribute anytime between when the trace starts and when the trace stops.

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

  • Names for custom attributes must meet the following requirements:

    • No leading or trailing whitespace, no leading underscore ( _ ) character
    • No spaces
    • Max length is 32 characters
    • Allowed characters for the name are AZ , az , and _ .
  • Each custom code trace can record up to 5 custom attributes.

  • Please ensure that custom attributes do not contain any information that personally identifies an individual to Google.

Note: This Firebase product is not available on macOS, Mac Catalyst, watchOS targets.
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;

Note: This Firebase product is not available on macOS, Mac Catalyst, watchOS targets.
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];

Track, view, and filter performance data

Track specific metrics in your dashboard

To learn how your key metrics are trending, add them to your metrics board at the top of the Performance dashboard. You can quickly identify regressions by seeing week-over-week changes or verify that recent changes in your code are improving performance.

an image of the metrics board in the <span class=Firebase Performance Monitoring dashboard" />

To add a metric to your metrics board, follow these steps:

  1. Go to the Performance dashboard in the Firebase console.
  2. Click an empty metric card, then select an existing metric to add to your board.
  3. Click on a populated metric card for more options, for example to replace or remove a metric.

The metrics board shows collected metric data over time, both in graphical form and as a numerical percentage change.

Learn more about using the dashboard .

View traces and their data

To view your traces, go to the Performance dashboard in the Firebase console, scroll down to the traces table, then click the appropriate subtab. The table displays some top metrics for each trace, and you can even sort the list by the percentage change for a specific metric.

Performance Monitoring provides a troubleshooting page in the Firebase console that highlights metric changes, making it easy to quickly address and minimize the impact of performance issues on your apps and users. You can use the troubleshooting page when you learn about potential performance issues, for example, in the following scenarios:

  • You select relevant metrics on the dashboard and you notice a big delta.
  • In the traces table you sort to display the largest deltas at the top, and you see a significant percentage change.
  • You receive an email alert notifying you of a performance issue.

You can access the troubleshooting page in the following ways:

  • On the metric dashboard, click the View metric details button.
  • On any metric card, select => View details . The troubleshooting page displays information about the metric you selected.
  • In the traces table, click a trace name or any metric value in the row associated with that trace.
  • In an email alert, click Investigate now .

When you click a trace name in the traces table, you can then drill down into metrics of interest. Нажмите кнопку Filter button to filter the data by attribute, for example:

an image of <span class=Firebase Performance Monitoring data being filtered by attribute" />
  • Filter by App version to view data about a past release or your latest release
  • Filter by Device to learn how older devices handle your app
  • Filter by Country to make sure your database location isn't affecting a specific region

Learn more about viewing data for your traces .

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

  • Learn more about using attributes to examine performance data.

  • Learn more about how to track performance issues in the Firebase console.

  • Set up alerts for code changes that are degrading the performance of your app. For example, you can configure an email alert for your team if the duration of a specific custom code trace exceeds a threshold that you set.

  • View detailed reports of user sessions in which you can see a specific trace in a timeline context of other traces collected during the same session.