Интеграция Dynatrace для мониторинга мобильного приложения (APM)

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Интеграция Dynatrace для мониторинга мобильного приложения (APM)
Средний
~2-3 дня
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Интеграция Dynatrace для мониторинга мобильного приложения (APM)

Dynatrace отличается от Datadog и New Relic подходом к инструментации: вместо ручной расстановки трекинг-вызовов агент Dynatrace использует OneAgent с автоматическим обнаружением зависимостей через AI-движок Davis. На мобильной стороне это означает, что большинство HTTP-вызовов, крэшей и UI-зависаний начинают отслеживаться сразу после добавления SDK без написания кода.

Установка OneAgent Mobile

iOS:

// Podfile
pod 'Dynatrace', '~> 8.0'

// Или Swift Package Manager
.package(url: "https://github.com/Dynatrace/swift-mobile-sdk", from: "8.0.0")
import Dynatrace

// Info.plist или programmatic init
DTXApplicationID = "your-application-id"
DTXBeaconURL = "https://your-environment.live.dynatrace.com/mbeacon"

// В коде:
Dynatrace.startupWithConfig(nil)

Dynatrace использует свой beakon-эндпоинт (/mbeacon), а не стандартный ingestion API. Если в приложении настроен certificate pinning, URL *.live.dynatrace.com нужно добавить в whitelist или использовать DTXClusterURL с кастомным прокси.

Android:

// build.gradle (project)
classpath("com.dynatrace.tools.android:gradle-plugin:8.+")

// build.gradle (app)
apply plugin: 'com.dynatrace.instrumentation'
// assets/dynatrace.properties
DTXApplicationID=your-application-id
DTXBeaconURL=https://your-environment.live.dynatrace.com/mbeacon

Gradle-плагин Dynatrace тяжелее New Relic по влиянию на время сборки. На крупных проектах с 50k+ классов время incremental build может вырасти на 15–30 секунд.

Пользовательские действия (User Actions)

Dynatrace группирует всё, что произошло между касанием пользователя и завершением вызванных операций, в User Action. Это ключевая сущность: в ней видно, сколько времени заняло загрузить данные после нажатия кнопки.

Для кастомных действий:

let action = Dynatrace.enterAction("AddToCart")
// ... выполняем работу ...
action?.leaveAction()

Если внутри enterAction/leaveAction происходит URLSession-запрос, Dynatrace автоматически привяжет его к этому User Action. В дашборде Waterfall view покажет цепочку: жест → синхронизация данных → API-запрос → рендер.

Распределённая трассировка

Dynatrace поддерживает W3C traceparent и собственный формат x-dynatrace. Для корреляции с бэкендом:

// Manual tagging для кастомных HTTP-клиентов
if let requestTag = Dynatrace.getDynatraceStringTag() {
    request.setValue(requestTag, forHTTPHeaderField: "x-dynatrace")
}

В Dynatrace Smartscape весь путь от мобильного клика до запроса к базе данных видно на одном экране — это то, за что платят enterprise-клиенты.

Типичные ошибки при интеграции

Двойная инициализация. При использовании SwiftUI + SceneDelegate иногда startupWithConfig вызывается дважды — из AppDelegate и из Scene(_:willConnectTo:). Dynatrace молча игнорирует второй вызов, но session ID сбрасывается, что ломает атрибуцию сессий.

ProGuard и R8. Gradle-плагин добавляет маппинг-файл в дашборд автоматически, но только если uploadEnabled = true в dynatrace.properties. Без этого stack trace в крэш-репортах будет обфусцированным.

Beacon URL в debug-сборке. Не забывайте переключать DTXBeaconURL для dev/staging окружений — тестовый трафик в production-окружении засоряет метрики.

Что делаем

  • Подключаем OneAgent через Gradle-плагин (Android) и SPM/CocoaPods (iOS)
  • Настраиваем beakon URL и Application ID для каждого окружения
  • Инструментируем кастомные HTTP-клиенты (Alamofire, Retrofit) для распределённых трейсов
  • Конфигурируем User Actions для ключевых пользовательских сценариев
  • Настраиваем Davis AI Anomaly Detection под базовые метрики приложения

Сроки

Базовая интеграция с автоинструментацией: 2–3 дня. Настройка распределённых трейсов и кастомных User Actions: ещё 1 день. Стоимость рассчитывается индивидуально.