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


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.

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

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".

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

Default attributes, custom attributes, and custom metrics

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

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

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

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

Use the Performance Monitoring Trace API to add custom code traces to monitor specific application code.

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

  • В приложении может быть несколько пользовательских трассировок кода.
  • 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.
  • В трассировке пользовательского кода поддерживается добавление пользовательских метрик и атрибутов .

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

Trace customTrace = FirebasePerformance.instance.newTrace('custom-trace');
await customTrace.start();

// Code you want to trace

await customTrace.stop();

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

Use the Performance Monitoring Trace API 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).

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

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

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

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

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

  • Names for custom attributes must meet the following requirements: no leading or trailing whitespace, no leading underscore ( _ ) character, and max length is 32 characters.

  • Each custom code trace can record up to 5 custom attributes.

  • You shouldn't use custom attributes that contain information that personally identifies an individual to Google.

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, затем щелкните вкладку «Панель мониторинга» . Щелкните пустую карточку метрики, затем выберите существующую метрику для добавления на доску. Щелкните вертикальное многоточие ( ) на заполненной карточке метрики, чтобы получить дополнительные параметры, например, заменить или удалить метрику.

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

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

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

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

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

  • 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 using attributes to examine performance data.

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

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