Устранение неполадок и часто задаваемые вопросы по мониторингу производительности
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
На этой странице представлены советы по устранению неполадок, которые помогут начать работу с мониторингом производительности или использовать функции и инструменты мониторинга производительности.
Первые проверки для устранения неполадок
Следующие две проверки представляют собой общие рекомендации, рекомендуемые всем перед дальнейшим устранением неполадок.
1. Проверьте сообщения журнала на предмет событий производительности.
Проверьте сообщения журнала, чтобы убедиться, что пакет Performance Monitoring SDK фиксирует события производительности.
Как просмотреть сообщения журнала о событиях производительности
Включите ведение журнала отладки следующим образом:
Проверьте панель состояния Firebase на случай известного сбоя в работе Firebase или мониторинга производительности.
Начало работы с мониторингом производительности
Если вы начинаете использовать мониторинг производительности ( iOS+ | Android | Интернет ), следующие советы по устранению неполадок могут помочь решить проблемы, связанные с обнаружением Firebase SDK или отображением ваших первых данных о производительности в консоли Firebase.
Добавлен SDK в приложение, но консоль по-прежнему говорит о необходимости добавления SDK.
Firebase может определить, успешно ли вы добавили SDK Performance Monitoring в свое приложение, когда он получает информацию о событиях (например, взаимодействиях с приложением) из вашего приложения. Обычно в течение 10 минут после запуска приложения на панели «Производительность » консоли Firebase отображается сообщение «Обнаружен SDK». Затем в течение 30 минут на панели мониторинга отображаются исходные обработанные данные.
Если с момента добавления последней версии SDK в приложение прошло более 10 минут, а изменений по-прежнему нет, проверьте сообщения журнала, чтобы убедиться, что мониторинг производительности регистрирует события. Попробуйте выполнить соответствующие действия по устранению неполадок, описанные ниже, чтобы устранить задержку сообщения об обнаружении SDK.
Приложение регистрирует события: шаги по устранению неполадок
Если вы все еще разрабатываете локально, попробуйте создать больше событий для сбора данных:
Продолжайте разрабатывать свое приложение, используя симулятор или тестовое устройство.
Создавайте события, несколько раз переключая приложение между фоновым и передним планом, взаимодействуя с вашим приложением путем навигации по экранам и/или запуская сетевые запросы.
Убедитесь, что ваш файл конфигурации Firebase ( Google-Service-Info.plist ) правильно добавлен в ваше приложение и что вы не изменили этот файл. В частности, проверьте следующее:
К имени файла конфигурации не добавляются дополнительные символы, например (2) .
Файл конфигурации находится в корне вашего проекта XCode и добавлен в правильные цели.
Идентификатор приложения Firebase Apple ( GOOGLE_APP_ID ), указанный в файле конфигурации, соответствует вашему приложению. Найдите свой идентификатор приложения Firebase на карточке «Ваши приложения» в settingsпроекта .
Если что-то не так с файлом конфигурации вашего приложения, попробуйте следующее:
Удалите файл конфигурации, который сейчас есть в вашем приложении.
Следуйте этим инструкциям , чтобы загрузить новый файл конфигурации и добавить его в свое приложение Apple.
Если SDK регистрирует события и кажется, что все настроено правильно, но вы по-прежнему не видите сообщение об обнаружении SDK или обработанные данные (через 2 часа), обратитесь в службу поддержки Firebase .
Приложение не регистрирует события: шаги по устранению неполадок
Если вы успешно добавили SDK и используете мониторинг производительности в своем приложении, следующие советы по устранению неполадок могут помочь в решении общих проблем, связанных с функциями и инструментами мониторинга производительности.
Приложение не регистрирует события производительности
На панели мониторинга производительности отсутствуют данные трассировки экрана
Если вам не хватает данных для трассировки рендеринга экрана, попробуйте выполнить следующие действия по устранению неполадок:
На панели мониторинга производительности отсутствуют пользовательские данные трассировки
Видите ли вы данные о производительности для автоматически собираемых трассировок , но не для трассировок пользовательского кода ? Попробуйте выполнить следующие действия по устранению неполадок:
Проверьте настройку трассировок пользовательского кода, реализованных через Trace API , особенно следующие:
Имена для трассировок пользовательского кода и пользовательских метрик должны соответствовать следующим требованиям: отсутствие начальных или конечных пробелов, отсутствие начального символа подчеркивания ( _ ), а максимальная длина — 32 символа.
Все трассировки должны быть запущены и остановлены. Любая трассировка, которая не запущена, не остановлена или остановлена до запуска, не будет зарегистрирована.
Проверьте сообщения журнала, чтобы убедиться, что мониторинг производительности регистрирует ожидаемые следы пользовательского кода.
В зависимости от поведения вашего кода и сетевых библиотек, используемых вашим кодом, мониторинг производительности может сообщать только о выполненных сетевых запросах. Это означает, что о соединениях HTTP/S, оставшихся открытыми, могут не сообщаться.
Мониторинг производительности не сообщает о сетевых запросах с недопустимыми заголовками Content-Type . Однако сетевые запросы без заголовков Content-Type по-прежнему будут приниматься.
Данные сетевых запросов не объединяются должным образом
Что случилось с «Основными проблемами» на карточке «Производительность» на главной странице Project?
Мы заменили «Основные проблемы» на «Недавние оповещения» в продолжение недавнего введения оповещений, которые автоматически уведомляют вас о превышении установленных вами пороговых значений. Проблемы больше не поддерживаются и заменены оповещениями.
Селектор приложений в верхней части карточки «Производительность» фильтрует записи оповещений в разделе «Последние оповещения» . Отображаются только три последних оповещения для выбранных приложений.
Что случилось с возможностью устанавливать пороговые значения для проблем в консоли?
Мониторинг производительности поддерживает оповещения о показателях, которые превышают определенные пороговые значения. Чтобы избежать путаницы с этими настраиваемыми пороговыми значениями для показателей производительности, мы удалили возможность настраивать пороговые значения для проблем .
Что случилось с информацией о деталях и показателях в консоли Firebase?
Мы заменили страницы «Сведения» и «Показатели» новым переработанным централизованным пользовательским интерфейсом (UI), чтобы улучшить способы устранения неполадок. Этот новый пользовательский интерфейс для устранения неполадок предлагает те же основные функции, что и «Подробности» и «Метрики». Дополнительные сведения об устранении неполадок см. в разделе Просмотр дополнительных данных для конкретной трассировки .
Почему количество образцов не соответствует моим ожиданиям?
Мониторинг производительности собирает данные о производительности с пользовательских устройств вашего приложения. Если в вашем приложении много пользователей или если приложение генерирует большой объем активности производительности, мониторинг производительности может ограничить сбор данных подмножеством устройств, чтобы уменьшить количество обрабатываемых событий. Эти ограничения достаточно высоки, поэтому даже при меньшем количестве событий значения метрик по-прежнему отражают работу вашего пользователя в приложении.
Чтобы управлять объемом данных, которые мы собираем, Performance Monitoring использует следующие варианты выборки:
Ограничение скорости на устройстве . Чтобы устройство не отправляло внезапные пакеты трассировок, мы ограничиваем количество трассировок кода и сетевых запросов, отправляемых с устройства, до 300 событий каждые 10 минут. Такой подход защищает устройство от зацикленных приборов, которые могут отправлять большие объемы данных о производительности, а также предотвращает искажение измерений производительности отдельного устройства.
Динамическая выборка . Мониторинг производительности собирает не более 100 миллионов событий для трассировок кода и 100 миллионов для трассировок сетевых запросов для каждого приложения ежедневно среди всех пользователей приложения. Динамическая частота выборки извлекается на устройствах (с помощью Firebase Remote Config), чтобы определить, должно ли случайное устройство захватывать и отправлять трассировки. Устройство, не выбранное для выборки, не отправляет никаких событий. Частота динамической выборки зависит от приложения и настраивается таким образом, чтобы общий объем собираемых данных оставался ниже установленного предела.
Пользовательские сеансы отправляют дополнительные подробные данные с устройства пользователя, что требует больше ресурсов для сбора и отправки данных. Чтобы свести к минимуму влияние пользовательских сеансов, мониторинг производительности также может ограничить количество сеансов.
Ограничение частоты на стороне сервера . Чтобы гарантировать, что приложения не превышают предел выборки, мониторинг производительности может использовать выборку на стороне сервера, чтобы отбросить некоторые события, полученные от устройств. Хотя этот тип ограничения не влияет на эффективность наших показателей, он может вызвать незначительные изменения в закономерностях, в том числе следующие:
Количество трассировок может отличаться от количества раз выполнения фрагмента кода.
Трассы, тесно связанные в коде, могут иметь разное количество выборок.
Что случилось с вкладкой «Проблемы» в консоли?
Мы заменили вкладку «Проблемы» введением «Оповещений», которые автоматически уведомляют вас о превышении установленных вами пороговых значений. Вам больше не нужно вручную проверять консоль Firebase, чтобы определить статус порога. Дополнительные сведения об оповещениях см. в разделе Настройка оповещений о проблемах с производительностью .
Что случилось с вкладками «На устройстве» и «Сеть» в консоли? Как просмотреть следы, которые были на этих страницах?
Мы изменили дизайн раздела «Мониторинг производительности» консоли Firebase, чтобы на вкладке «Панель мониторинга» ваши ключевые показатели и все трассировки отображались в одном пространстве. В рамках редизайна мы удалили страницы «На устройстве» и «Сеть» .
Таблица трассировок в нижней части вкладки «Панель мониторинга» содержит всю ту же информацию, что и на вкладках «На устройстве» и «Сеть» , но с некоторыми дополнительными функциями, включая возможность сортировки трассировок по процентному изменению для определенной метрики. Чтобы просмотреть все метрики и данные для определенной трассировки, щелкните имя трассировки в таблице трассировок.
Просматривайте свои трассировки на следующих вложенных вкладках таблицы трассировок:
Трассировка сетевых запросов (как готовых, так и настраиваемых) — вкладка «Сетевые запросы» .
Подробные сведения о таблице трассировок и просмотре метрик и данных см. на странице обзора консоли ( iOS+ | Android | Интернет ).
Почему количество медленных и зависших кадров не соответствует моим ожиданиям?
Медленные кадры рендеринга и замороженные кадры рассчитываются с предполагаемой частотой обновления устройства 60 Гц. Если частота обновления устройства ниже 60 Гц, время рендеринга каждого кадра будет медленнее, поскольку в секунду обрабатывается меньше кадров. Более медленное время рендеринга может привести к сообщению о более медленных или зависших кадрах, поскольку большее количество кадров будет отображаться медленнее или будет зависать. Однако если частота обновления устройства превышает 60 Гц, время рендеринга каждого кадра будет сокращаться. Это может привести к тому, что будет сообщено о меньшем количестве медленных или зависших кадров. Это текущее ограничение в SDK Performance Monitoring.
Экспорт данных моего мониторинга производительности в BigQuery занимает больше времени, чем ожидалось. Разве это не реальное время?
Если вы включили интеграцию BigQuery для мониторинга производительности Firebase, ваши данные будут экспортированы в BigQuery через 12–24 часа после окончания дня (по тихоокеанскому времени).
Например, данные за 19 апреля будут доступны в BigQuery 20 апреля с 12:00 до полуночи (все даты и время указаны по тихоокеанскому времени).
Рядом с обработкой и отображением данных в режиме реального времени
Что означают данные о производительности в режиме реального времени?
Процессы мониторинга производительности Firebase собирали данные о производительности по мере их появления, что приводит к почти в реальном времени отображение данных в консоли Firebase. Обработанные данные отображаются в консоли в течение нескольких минут после его сбора, отсюда и термин «почти в реальном времени».
Как я могу приблизиться к данным о производительности в реальном времени для моего приложения?
Чтобы воспользоваться преимуществами обработки данных в реальном времени, вам нужно только убедиться, что ваше приложение использует версию SDK мониторинга производительности, которая совместима с обработкой данных в реальном времени.
Это совместимые с SDK версии в реальном времени:
iOS - V7.3.0 или позже
TVOS - V8.9.0 или позже
Android - v19.0.10 или более поздней версии (или Firebase Android Bom V26.1.0 или более поздней версии)
Интернет - v7.14.0 или позже
Обратите внимание, что мы всегда рекомендуем использовать последнюю версию SDK, но любая версия, перечисленная выше, позволит мониторингу производительности обрабатывать ваши данные в практически в реальном времени.
Какие версии мониторинга производительности SDK считаются совместимыми в реальном времени?
Это версии SDK, совместимые с обработкой данных в реальном времени:
iOS - V7.3.0 или позже
TVOS - V8.9.0 или позже
Android - v19.0.10 или более поздней версии (или Firebase Android Bom V26.1.0 или более поздней версии)
Интернет - v7.14.0 или позже
Обратите внимание, что мы всегда рекомендуем использовать последнюю версию SDK, но любая версия, перечисленная выше, позволит мониторингу производительности обрабатывать ваши данные в практически в реальном времени.
Что если я не обновлю свое приложение для использования совместимой с SDK-версией в реальном времени?
Если ваше приложение не использует версию SDK в реальном времени, вы все равно увидите все данные о производительности вашего приложения в консоли Firebase. Тем не менее, отображение данных о производительности будет отложено примерно на 36 часов с момента его сбора.
Я обновился до версии SDK в реальном времени, но некоторые из моих пользователей все еще находятся в старых версиях моего приложения. Я продолжаю видеть их данные о производительности в консоли Firebase?
Да! Независимо от того, какую версию SDK использует экземпляр приложения, вы увидите данные о производительности от всех ваших пользователей.
Однако, если вы смотрите на последние данные (меньше 36 часов), то отображаемые данные от пользователей экземпляров приложений с использованием совместимой с SDK-версией в реальном времени. Независимые данные, однако, включают данные о производительности из всех версий вашего приложения.
Обращаясь к поддержке Firebase
Если вы обратитесь к поддержке Firebase , всегда включайте свой идентификатор приложения Firebase. Найдите свой идентификатор приложения Firebase в карте ваших приложений из settingsнастройки проекта .