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

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

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

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

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

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

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

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

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

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

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

Добавить собственные трассировки кода

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

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

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

Чтобы запустить и остановить пользовательскую трассировку кода, оберните код, который вы хотите трассировать, строками кода, подобными приведенному ниже (в этом примере используется пользовательское имя трассировки test_trace ):

Джава

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace

myTrace.stop();

Котлин + KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

val myTrace = FirebasePerformance.getInstance().newTrace("test_trace")
myTrace.start()

// code that you want to trace

myTrace.stop()

(Необязательно) Отслеживайте определенные методы с помощью @AddTrace

Приложения Android также поддерживают аннотацию @AddTrace для отслеживания трассировки пользовательского кода. Используя эту функцию, трассировка начинается с начала указанного метода и останавливается, когда метод завершается, включая все, что вызвано этим методом.

Например, вы можете создать настраиваемую трассировку кода под названием onCreateTrace которая запускается при onCreate() метода onCreate() .

Джава

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@Override
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

Котлин + KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
}

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

Используйте API трассировки мониторинга производительности для добавления пользовательских показателей в трассировки пользовательского кода.

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

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

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

Джава

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace (and log custom metrics)
Item item = cache.fetch("item");
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1);
} else {
    myTrace.incrementMetric("item_cache_miss", 1);
}

myTrace.stop();

Котлин + KTX

val myTrace = FirebasePerformance.getInstance().newTrace("test_trace")
myTrace.start()

// code that you want to trace (and log custom metrics)
val item = cache.fetch("item")
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1)
} else {
    myTrace.incrementMetric("item_cache_miss", 1)
}

myTrace.stop()

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

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

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

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

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

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

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

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

Джава

Trace trace = FirebasePerformance.getInstance().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();

Котлин + KTX

val trace = FirebasePerformance.getInstance().newTrace("test_trace")

// Update scenario.
trace.putAttribute("experiment", "A")

// Reading scenario.
val experimentValue = trace.getAttribute("experiment")

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

// Read attributes.
val traceAttributes = trace.attributes

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

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

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

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

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

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

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

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

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

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

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

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

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

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