Google is committed to advancing racial equity for Black communities. See how.
Эта страница была переведа с помощью Cloud Translation API.
Switch to English

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

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

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

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

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

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

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

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

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

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

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

  1. Добавьте в шапку модуль мониторинга производительности:

    стриж

    import FirebasePerformance
    

    Objective-C

    @import FirebasePerformance;
    
  2. Чтобы запустить и остановить пользовательскую трассировку, оберните код, который вы хотите трассировать, строками кода, подобными следующему:

    стриж

    let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")
    
    // code that you want to trace
    
    trace.stop()
    

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

    Objective-C

    FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];
    
    // code that you want to trace
    
    [trace stop];
    

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

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

    стриж

    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()
    

    Objective-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];
    

Мониторинг пользовательских трассировок и показателей в консоли

  1. В консоли Firebase перейдите на панель управления производительностью .

  2. Перейдите на вкладку На устройстве , после чего вы сможете:

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

    • Щелкните конкретную трассу, чтобы просмотреть данные трассировки более подробно.

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

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

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

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

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

    В следующем разделе описаны доступные функции подробного отчета трассировки.

Просмотр дополнительных сведений об образцах трассировки

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

изображение страницы сеансов мониторинга производительности Firebase

  • ЦП: сколько пользовательского и системного времени потребляет ваше приложение.

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

  • Индивидуальная информация: подробная информация об отдельном экземпляре трассировки или сетевого запроса, включая время начала, время окончания, продолжительность, размер запроса и размер ответа.

  • Параллельные экземпляры: информация о трассировках или сетевых запросах, которые произошли в одно и то же время.

  • Атрибуты устройства: информация об устройстве, включая версию приложения, модель, версию ОС, радио и настраиваемые атрибуты.

Чтобы увидеть эти подробные образцы в консоли Firebase, вы можете:

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

  • Щелкните ссылку для сеансов атрибута из определенного атрибута.

изображение трассировки Firebase Performance Monitoring со ссылкой на сеансы

Фильтровать сеансы по процентилю

Сеансы, которые собирает Performance Monitoring, распределяются по процентилям для каждой метрики. Для сеансов с более низким процентилем значение показателя ниже, чем для сеансов с более высоким процентилем.

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

изображение страницы сеансов мониторинга производительности Firebase

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