Прежде чем начать
Если вы еще этого не сделали, добавьте Firebase в свой проект Apple .
Шаг 1 : Добавьте Performance Monitoring в свое приложение
После добавления SDK Performance Monitoring Firebase автоматически начинает собирать данные для рендеринга экрана вашего приложения, данные, связанные с жизненным циклом вашего приложения (например, время запуска приложения ), и данные для сетевых запросов HTTP/S .
Используйте Swift Package Manager для установки и управления зависимостями Firebase.
- В Xcode откройте проект приложения и перейдите в меню Файл > Добавить пакеты .
- При появлении соответствующего запроса добавьте репозиторий Firebase Apple platform SDK:
- Выберите библиотеку Performance Monitoring .
- Добавьте флаг
-ObjC
в раздел «Другие флаги компоновщика» настроек сборки вашей цели. - По завершении Xcode автоматически начнет разрешать и загружать ваши зависимости в фоновом режиме.
https://github.com/firebase/firebase-ios-sdk.git
Далее настройте модуль Firebase:
- Импортируйте модуль
FirebaseCore
в вашUIApplicationDelegate
, а также любые другие модули Firebase, которые использует ваш делегат приложения. Например, чтобы использовать Cloud Firestore и Authentication :SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Быстрый
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- Настройте общий экземпляр
FirebaseApp
в методе делегата приложения applicationapplication(_:didFinishLaunchingWithOptions:)
:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Быстрый
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- Если вы используете SwiftUI, вы должны создать делегат приложения и прикрепить его к структуре
App
черезUIApplicationDelegateAdaptor
илиNSApplicationDelegateAdaptor
. Вы также должны отключить swizzling делегата приложения. Для получения дополнительной информации см. инструкции SwiftUI .SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
Перекомпилируйте ваше приложение.
Шаг 2 : Создание событий производительности для первоначального отображения данных
Firebase начинает обрабатывать события, когда вы успешно добавляете SDK в свое приложение. Если вы все еще разрабатываете локально, взаимодействуйте со своим приложением, чтобы сгенерировать события для первоначального сбора и обработки данных.
Продолжайте разрабатывать свое приложение, используя симулятор или тестовое устройство.
Создавайте события, переключая приложение между фоновым и передним режимами несколько раз, взаимодействуя с приложением путем перемещения по экранам и/или запуская сетевые запросы.
Перейдите на панель производительности консоли Firebase . Вы должны увидеть начальные данные в течение нескольких минут.
Если вы не видите отображения исходных данных, ознакомьтесь с советами по устранению неполадок .
Шаг 3 : (Необязательно) Просмотр сообщений журнала для событий производительности
Включите ведение журнала отладки следующим образом:
- В Xcode (минимум v16.2) выберите Продукт > Схема > Изменить схему .
- Выберите «Выполнить» в левом меню, затем выберите вкладку «Аргументы» .
- В разделе «Аргументы, передаваемые при запуске» добавьте
-FIRDebugEnabled
.
Проверьте сообщения журнала на наличие сообщений об ошибках.
Performance Monitoring помечает свои сообщения журнала тегом
Firebase/Performance
чтобы вы могли фильтровать сообщения журнала.Проверьте наличие следующих типов журналов, указывающих на то, что Performance Monitoring регистрирует события производительности:
-
Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
-
Logging network request trace: URL
-
Нажмите на URL, чтобы просмотреть данные в консоли Firebase. Обновление данных на панели управления может занять несколько минут.
Если ваше приложение не регистрирует события производительности, ознакомьтесь с советами по устранению неполадок .
Шаг 4 : (Необязательно) Добавьте пользовательский мониторинг для определенного кода
Для мониторинга данных о производительности, связанных с определенным кодом в вашем приложении, вы можете использовать пользовательские трассировки кода .
С помощью пользовательской трассировки кода вы можете измерить, сколько времени требуется вашему приложению для выполнения определенной задачи или набора задач, например, загрузки набора изображений или запроса к вашей базе данных. Метрикой по умолчанию для пользовательской трассировки кода является ее длительность, но вы также можете добавлять пользовательские метрики, например, попадания в кэш и предупреждения о памяти.
В своем коде вы определяете начало и конец пользовательской трассировки кода (и добавляете любые необходимые пользовательские метрики), используя API, предоставляемый SDK Performance Monitoring .
Посетите раздел «Добавить мониторинг для определенного кода», чтобы узнать больше об этих функциях и о том, как добавить их в свое приложение.
Шаг 5 : Разверните свое приложение и просмотрите результаты.
После проверки Performance Monitoring с помощью симулятора Xcode и одного или нескольких тестовых устройств вы можете развернуть обновленную версию своего приложения для своих пользователей.
Вы можете отслеживать данные о производительности на панели производительности консоли Firebase .
Известные проблемы
- Performance Monitoring имеет известные проблемы совместимости с GTMSQLite. Мы рекомендуем не использовать Performance Monitoring с приложениями, которые используют GTMSQLite.
- Изменение метода после вызова
FirebaseApp.configure()
может помешать работе SDK Performance Monitoring . - Известные проблемы с iOS 8.0-8.2 Simulator не позволяют Performance Monitoring захватывать события производительности. Эти проблемы исправлены в iOS 8.3 Simulator и более поздних версиях.
- Подключения, установленные с использованием
backgroundSessionConfiguration
NSURLSession, будут показывать более длительное, чем ожидалось, время подключения. Эти подключения выполняются вне процесса, а тайминги отражают внутрипроцессные события обратного вызова.
Следующие шаги
Просмотрите и запустите пример кода Performance Monitoring iOS на GitHub .
Узнайте больше о данных, автоматически собираемых с помощью Performance Monitoring :
- Данные, связанные с жизненным циклом вашего приложения, например время запуска приложения
- Данные для рендеринга экрана в вашем приложении
- Данные для сетевых запросов HTTP/S, отправленных вашим приложением
Просматривайте, отслеживайте и фильтруйте данные о производительности в консоли Firebase .
Добавьте мониторинг определенных задач или рабочих процессов в вашем приложении, используя инструменты трассировки пользовательского кода .
Используйте атрибуты для фильтрации данных о производительности .