Прежде чем вы начнете
Если вы еще этого не сделали, добавьте Firebase в свой проект Apple .
Шаг 1. Добавьте мониторинг производительности в свое приложение.
После того как вы добавите SDK для мониторинга производительности, Firebase автоматически начнет собирать данные для рендеринга экрана вашего приложения, данные, связанные с жизненным циклом вашего приложения (например, время запуска приложения ) и данные для сетевых запросов HTTP/S .
Используйте диспетчер пакетов Swift для установки и управления зависимостями Firebase.
- В Xcode при открытом проекте приложения перейдите в File > Add Packages .
- При появлении запроса добавьте репозиторий SDK Firebase для платформ Apple:
- Выберите библиотеку мониторинга производительности.
- Когда закончите, Xcode автоматически начнет разрешать и загружать ваши зависимости в фоновом режиме.
https://github.com/firebase/firebase-ios-sdk
Далее настройте модуль Firebase:
- Импортируйте модуль
FirebaseCore
в свойUIApplicationDelegate
, а также любые другие модули Firebase, которые использует ваш делегат приложения. Например, чтобы использовать Cloud Firestore и аутентификацию:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Быстрый
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Цель-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()
Цель-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 (минимум v14.1) выберите Product > Scheme > Edit Scheme .
- Выберите «Выполнить» в меню слева, затем перейдите на вкладку «Аргументы» .
- В разделе «Аргументы, передаваемые при запуске» добавьте
-FIRDebugEnabled
.
Проверьте сообщения журнала на наличие сообщений об ошибках.
Мониторинг производительности помечает сообщения журнала тегами
Firebase/Performance
, чтобы вы могли фильтровать сообщения журнала.Проверьте следующие типы журналов, которые указывают на то, что мониторинг производительности регистрирует события производительности:
-
Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
-
Logging network request trace: URL
-
Нажмите на URL-адрес, чтобы просмотреть свои данные в консоли Firebase. Обновление данных на панели мониторинга может занять некоторое время.
Если ваше приложение не регистрирует события производительности, ознакомьтесь с советами по устранению неполадок .
Шаг 4. (Необязательно) Добавьте настраиваемый мониторинг для определенного кода.
Чтобы отслеживать данные о производительности, связанные с определенным кодом в вашем приложении, вы можете использовать пользовательские трассировки кода .
С помощью пользовательской трассировки кода вы можете измерить, сколько времени требуется вашему приложению для выполнения определенной задачи или набора задач, например загрузки набора изображений или запроса к базе данных. Метрикой по умолчанию для пользовательской трассировки кода является ее продолжительность, но вы также можете добавить пользовательские метрики, такие как попадания в кэш и предупреждения памяти.
В своем коде вы определяете начало и конец пользовательской трассировки кода (и добавляете любые желаемые пользовательские метрики) с помощью API, предоставляемого пакетом SDK для мониторинга производительности.
Посетите страницу Добавление мониторинга для определенного кода , чтобы узнать больше об этих функциях и о том, как добавить их в свое приложение.
Шаг 5. Разверните приложение и просмотрите результаты.
После того как вы проверили мониторинг производительности с помощью симулятора Xcode и одного или нескольких тестовых устройств, вы можете развернуть обновленную версию своего приложения для своих пользователей.
Вы можете отслеживать данные о производительности на панели мониторинга производительности консоли Firebase.
Известные вопросы
- Мониторинг производительности имеет известные проблемы совместимости с GTMSQLite. Мы рекомендуем не использовать мониторинг производительности с приложениями, использующими GTMSQLite.
- Переключение метода после вызова
FirebaseApp.configure()
может помешать работе SDK мониторинга производительности. - Известные проблемы с симулятором iOS 8.0-8.2 не позволяют мониторингу производительности фиксировать события производительности. Эти проблемы исправлены в симуляторе iOS 8.3 и более поздних версиях.
- Соединения, установленные с помощью
backgroundSessionConfiguration
NSURLSession, будут иметь более длительное время соединения, чем ожидалось. Эти соединения выполняются вне процесса, и тайминги отражают внутрипроцессные события обратного вызова.
Следующие шаги
Просмотрите и запустите образец кода для мониторинга производительности iOS на GitHub .
Узнайте больше о данных, автоматически собираемых службой Performance Monitoring:
- Данные, относящиеся к жизненному циклу вашего приложения, например время запуска приложения.
- Данные для рендеринга экрана в вашем приложении
- Данные для сетевых запросов HTTP/S, отправленных вашим приложением
Просматривайте, отслеживайте и фильтруйте данные об эффективности в консоли Firebase.
Добавьте мониторинг определенных задач или рабочих процессов в свое приложение, используя пользовательские трассировки кода .
Используйте атрибуты для фильтрации данных о производительности .