Перейти к содержанию

Функции автоинструментирования OneAgent для iOS

  • Описание

Автоинструментирование с помощью OneAgent для iOS происходит во время выполнения. Результирующее приложение инструментируется до уровней, настроенных в файле Info.plist приложения.

Следующие функции автоматически инструментируются при настройке OneAgent для вашего проекта. Эти функции включены по умолчанию, но вы можете отключить или настроить их, добавив ключи конфигурации в файл Info.plist вашего приложения.

Используйте автоинструментирование в сочетании с ручным инструментированием для захвата дополнительных данных. Например, вы можете захотеть вручную инструментировать определённые действия, передавать значения или помечать конкретных пользователей.

Автоматический запуск OneAgent

OneAgent для iOS инициализируется автоматически при загрузке библиотеки — это момент, когда бинарный файл библиотеки OneAgent загружается в мобильное приложение при запуске приложения. Это происходит до applicationWillFinishLaunching, где OneAgent может быть запущен вручную.

Установите ключ конфигурации DTXAutoStart в значение false, чтобы отключить автоматический запуск OneAgent. В этом случае вам потребуется запустить OneAgent вручную.

Мониторинг жизненного цикла

OneAgent собирает данные о следующих событиях.

  • AppStart (событие запуска приложения)

  • Автоматический запуск OneAgent: измеряет временной интервал от момента запуска OneAgent до вызова метода application(_:didFinishLaunchingWithOptions:).

  • Ручной запуск OneAgent: измеряет временной интервал от вызова API ручного запуска OneAgent до вызова метода application(_:didFinishLaunchingWithOptions:). Если API ручного запуска вызывается после application(_:didFinishLaunchingWithOptions:), событие AppStart не генерируется.
  • Display: измеряет временной интервал от загрузки представления до его появления на экране. Метки времени вызовов viewDidLoad, viewWillAppear и viewDidAppear классов ViewController отображаются в каскадном анализе действий пользователя и помечаются как Событие жизненного цикла.
  • Redisplay: измеряет временной интервал от загрузки представления до его повторного появления на экране. Метки времени вызовов viewWillAppear и viewDidAppear классов ViewController отображаются в каскадном анализе действий пользователя и помечаются как Событие жизненного цикла.

Установите ключ конфигурации DTXInstrumentLifecycleMonitoring в значение false, чтобы отключить автоматический мониторинг жизненного цикла. Также ознакомьтесь с другими ключами в разделе Мониторинг жизненного цикла для дополнительных возможностей конфигурации.

Чтобы узнать, какие события жизненного цикла отправляются для SwiftUI, см. Инструментирование элементов управления SwiftUI | Мониторинг жизненного цикла.

Отчёты о сбоях

OneAgent перехватывает все необработанные исключения и отправляет отчёт о сбое на сервер. Отчёт о сбое включает время возникновения и полную трассировку стека исключения.

Данные о сбое отправляются только при повторном открытии мобильного приложения пользователем (то есть при следующем запуске приложения). Однако если пользователь не откроет приложение в течение 10 минут, отчёт о сбое удаляется. Это связано с тем, что Dynatrace не отправляет отчёты о сбоях старше 10 минут (так как такие отчёты больше не могут быть скоррелированы на кластере Dynatrace).

Установите ключ конфигурации DTXCrashReportingEnabled в значение false, чтобы отключить отчёты о сбоях.

Мониторинг веб-запросов

OneAgent автоматически инструментирует и помечает ваши веб-запросы. Для отслеживания веб-запросов OneAgent добавляет HTTP-заголовок x-dynatrace с уникальным значением к веб-запросу. Это необходимо для корреляции данных мониторинга на стороне сервера с соответствующим мобильным веб-запросом.

Установите ключ конфигурации DTXInstrumentWebRequestTiming в значение false, чтобы отключить мониторинг веб-запросов. Также ознакомьтесь с другими ключами в разделе Веб-запросы для настройки хронометража и маркировки веб-запросов.

Чтобы узнать, как вручную инструментировать веб-запросы, см. Измерение веб-запросов.

Мониторинг веб-запросов, передаваемых в WKWebView

OneAgent автоматически инструментирует и помечает веб-запросы, передаваемые в WKWebView.

Обратите внимание, что OneAgent не мониторит запросы, выполняемые внутри WKWebView. Такие запросы обрабатываются RUM JavaScript, если вы правильно настроили мониторинг гибридного приложения с Dynatrace.

Установите ключ конфигурации DTXInstrumentWebViewTiming в значение false, чтобы отключить автоматический хронометраж и маркировку веб-запросов, передаваемых в WKWebView.

Обнаружение действий пользователя

OneAgent обнаруживает и измеряет действия пользователя, такие как нажатия кнопок, действия с представлениями и другие взаимодействия с элементами интерфейса. OneAgent создаёт действия пользователя на основе компонентов интерфейса, которые инициируют эти действия, и автоматически объединяет данные о действиях пользователя с другими данными мониторинга, такими как информация о веб-запросах и сбоях. OneAgent продлевает время жизни действий пользователя для правильной агрегации с другими событиями, выполняемыми в фоновом потоке или сразу после действия пользователя.

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

С помощью OneAgent для iOS вы также можете выполнять следующие действия, связанные с действиями пользователя.

  • Создание пользовательских действий
  • Отмена пользовательских и автоматически сгенерированных действий
  • Использование пользовательских заголовков элементов управления
  • Изменение автоматически сгенерированных действий
  • Маскирование действий пользователя

Чтобы узнать, как OneAgent формирует имена действий пользователя, см. Именование действий пользователя.

Обнаружение яростных нажатий

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

Установите ключ конфигурации DTXDetectRageTaps в значение false, чтобы прекратить обнаружение яростных нажатий.

Мониторинг местоположения

Отключено по умолчанию

OneAgent может захватывать местоположение конечных пользователей вашего приложения и отправлять захваченное местоположение в качестве метрики на сервер. Для защиты конфиденциальности ваших пользователей OneAgent захватывает GPS-координаты с точностью до двух десятичных знаков (точность ~1 км).

Установите ключ конфигурации DTXInstrumentGPSLocation в значение true, чтобы включить захват местоположения.