Анализ запуска приложения используется для мониторинга производительности и аномалий при запуске приложения. Существует три типа запуска: первый запуск, холодный запуск и тёплый запуск. Отображаются время запуска приложения, декомпозиция производительности запуска, региональный анализ, статистика аномалий и трассировка, выборки медленного запуска, информация о сбоях во время запуска и информация об ошибках запуска.

Определения категорий запуска приложения:
Время запуска приложения и декомпозиция производительности
На графике Времени запуска приложения и декомпозиции производительности отображаются время запуска и количество первого запуска, холодного запуска и тёплого запуска, а также разрешение производительности при первом и холодном запусках соответственно, для указанного приложения, версии и временного диапазона.

Определения времени запуска приложения и декомпозиции производительности:
Android: от Application.attachbaseContext()Start до MainActivity.onResume()End
iOS: от времени начала основной функции (время запуска SDK) до окончания FirstVC.viewDidAppear()
Android: Home: от Activity.onRestart()Start до Activity.onResume()End;Back: от Activity.onCreate()Start до Activity.onResume()End
iOS: от applicationWillEnterForeground()Start до applicationDidBecomeActive()End
Android: от Application init,Application.attachbaseContext()Start до End
iOS: от времени начала основной функции (время запуска SDK) до applicationDelegate.didFinishLaunchingWithOptions()Start
Android: от MainActivity init,Application.attachbaseContext()End до Application.onCreate()End
iOS: applicationDelegate.didFinishLaunchingWithOptions()Start to FirstVC.loadView()Start
Android: от MainActivity onCreate plus onResume,Application.onCreate()End до MainActivity.onResume()End
iOS: от FirstVC.loadView()Start до FirstVC.viewDidAppear()End
Региональный анализ
График регионального анализа показывает распределение затрат времени для первого запуска, холодного запуска и тёплого запуска в различных комбинациях регионов, типов подключения и операторов. Типы подключения и операторы поддерживают множественный выбор. Интервалы сегментации рассчитываются на основе настраиваемого порога медленного запуска и делятся на шесть интервалов, обозначенных разными цветами. Например, если порог задан как 3000 мс, интервалы делятся на 0–600, 600–1200, 1200–1800, 1800–2400, 2400–3000, >3000. Рейтинг регионов показывает ТОП10 регионов с максимальными затратами времени для первого запуска, холодного запуска и тёплого запуска.

Статистика аномалий и трассировка
Статистика аномалий и трассировка показывает исключения первого запуска, холодного запуска и тёплого запуска, включая тренд-статистику и детальные списки медленного запуска, сбоев, HTTP- и сетевых ошибок.

Анализ медленного запуска
Медленный запуск определяется как запуск, время которого превышает порог; порог по умолчанию — 3000 мс. Столбчатые и линейные диаграммы показывают тенденцию изменения частоты медленных запусков, количества медленных запусков и количества нормальных запусков при первом запуске, холодном запуске и тёплом запуске. Три круговые диаграммы показывают распределение медленных запусков по версиям приложения, устройствам и версиям системы соответственно. Например, ниже показано распределение медленных запусков по версии системы, где iOS 10.2 занимает наибольшую долю, затем iOS 8.4, а iOS 9.0 — наименьшую.

Список отображает время возникновения медленного запуска, ID пользователя, затраты времени, версию приложения, версию системы и устройство. Список поддерживает поиск по ID пользователя и фильтрацию по устройству и версии системы (поддерживается одиночный выбор). Нажмите синюю текстовую ссылку в колонке «Время выполнения» (time-consuming), чтобы перейти на страницу «Трассировка медленного запуска» (Slow Start Trace).

Статистика сбоев
Столбчатая и линейная диаграммы показывают тенденцию изменения частоты сбоев, количества сбоев, количества запусков в процессе первого запуска, холодного запуска и тёплого запуска, где единица измерения аварийности — ‰.
Статистика HTTP-ошибок
Столбчатая диаграмма показывает количество HTTP-ошибок для процессов первого запуска, холодного запуска и тёплого запуска. Список агрегирует данные по URL и сообщению об ошибке и отображает время возникновения HTTP-ошибки, URL, сообщение об ошибке, количество и поставщика CDN. Список поддерживает поиск по списку URL и фильтрацию по сообщению об ошибке и поставщику CDN (поддерживается одиночный выбор). Нажмите синюю текстовую ссылку в колонке URL, чтобы перейти на страницу «Трассировка HTTP-ошибок» (HTTP Error Trace).
Статистика сетевых ошибок
Столбчатая диаграмма показывает количество сетевых ошибок для процессов первого запуска, холодного запуска и тёплого запуска. Список агрегирует данные по URL и сообщению об ошибке и отображает время возникновения сетевой ошибки, URL, сообщение об ошибке, количество и поставщика CDN. Список поддерживает поиск по списку URL и фильтрацию по сообщению об ошибке и поставщику CDN (поддерживается одиночный выбор). Нажмите синюю текстовую ссылку в колонке URL, чтобы перейти на страницу «Трассировка Сетевых Ошибок» (Network Error Trace).

Трассировка медленного запуска

Трассировка медленного запуска показывает детали первого запуска, холодного запуска и тёплого запуска, включая критическое время медленного запуска, информацию о конечном пользователе и декомпозицию запуска. Заголовок страницы показывает ID пользователя, время возникновения и ключевое время запуска со следующими определениями:
Android:
Время подготовки: от Application.attachbaseContext()Start до End
Время инициализации: Application.attachbaseContext()End до Application.onCreate()End
Время отображения: Application.onCreate()End до MainActivity.onCreate()End
Время взаимодействия: MainActivity.onCreate()End до MainActivity.onResume()End
iOS:
Время инициализации: main function start time (SDK start time) до applicationDelegate.didFinishLaunchingWithOptions()Start
Время построения: applicationDelegate.didFinishLaunchingWithOptions()Start до FirstVC.loadView()Start
Время загрузки: FirstVC.loadView()Start to FirstVC.viewDidAppear()End
Android:
Время отображения: Home: Application.onCreate()End до MainActivity.onRestart()End;Back: Application.onCreate()End до MainActivity.onCreate()End
Время взаимодействия: Home: MainActivity.onRestart()End to MainActivity.onResume()End;Back: MainActivity.onCreate()End to MainActivity.onResume()End
iOS:
Время загрузки: applicationWillEnterForeground()Start до applicationDidBecomeActive()End
Информация о конечном пользователе отображает устройство, версию системы, версию приложения, регион, оператора, тип подключения, остаточное пространство, остаточную память, остаточный заряд, тип CPU, набор инструкций CPU, загрузку CPU, ориентацию UI, GPS-информацию.

Каскадная декомпозиция включает тенденцию использования CPU, тенденцию использования памяти, методы вызова каждого потока, время выполнения метода, тип метода, отношения вызовов, маркировку ключевого времени медленного запуска. При наведении на пустую область отображаются время, загрузка CPU в этот момент и процент использования памяти. При наведении на область метода отображаются имя метода, время начала, время окончания и затраты времени. Разные методы помечаются разными цветами и делятся на пять категорий: хранилище, изображения, JSON, сеть, пользовательские настройки. При наведении на метод «сеть» отображаются имя метода, URL запроса, время начала, время окончания, код ответа, объём переданных данных, DNS, TCP, SSL, время запроса. Нажмите на отношение вызова метода, чтобы проследить цепочку вызовов этого метода.
Трассировка сбоев

Трассировка сбоев показывает детали первого запуска, холодного запуска и тёплого запуска, включая информацию о сбоях, списки сбоев, трассировки сбоев, стеки вызовов, пользовательские расширения, контекстную информацию и графики. Заголовок страницы показывает сообщение о сбое, затронутых пользователей, число возникновений, статус и поддерживает совместное использование. Список сбоев показывает время запуска, время сбоя, версию приложения, версию системы, устройство, ID пользователя и ID устройства. Контекстная информация включает устройство, остаточную память, загрузку CPU, остаточное пространство устройства, модель CPU, набор инструкций CPU, джейлбрейк, остаточный заряд, GPS, ориентацию UI, оператора и тип подключения. График показывает распределение по версиям приложения и версиям системы.
Трассировка ошибок

Трассировка ошибок показывает детали ошибки, возникшей в процессе первого запуска, холодного запуска и тёплого запуска, включая сообщение об ошибке, статистическое распределение и список выборок ошибок. Заголовок страницы показывает тип ошибки, код ошибки, количество ошибок и URL. Круговая диаграмма показывает распределение по версии системы, устройству, версии приложения, регионy, оператору, типу подключения и IP сервера. Список выборок ошибок включает время возникновения ошибки, URL, поставщика CDN, устройство, версию приложения, версию SDK, версию системы, регион, оператора и тип подключения. Нажмите строку в списке, чтобы перейти на страницу «Детальный Пример Ошибки» (Error Sample Detailed).

Страница «Детальный Пример Ошибки» включает информацию о конечном пользователе, URL, параметры запроса, стек вызовов, заголовки ответа и содержимое ответа. Информация о конечном пользователе включает код ошибки, время возникновения, версию системы, версию приложения, версию SDK, устройство, регион, оператора, тип подключения, IP-адрес клиента, IP-адрес сервера и поставщика CDN.