Altynview App

WebView

Новая версия

WebView используется для мониторинга страниц WebView и запросов внутри WebView, включая общую производительность, визуализированные графики для агрегированных URL, анализ аномалий и трассировку.

Обзор WebView

IВ разделе «Обзор WebView» (WebView Overview) выберите приложение, версию и диапазон времени, чтобы просмотреть показатели производительности для агрегированного URL, включая PV, Общее время загрузки, Время «белого экрана», Время первого экрана, Время готовности Dom, Доля медленных загрузок, Коэффициент HTTP-ошибок, Коэффициент сетевых ошибок и Коэффициент JS-ошибок.

Показатели в WebView Overview определяются следующим образом:

  • PV: количество просмотров страниц
  • Общее время загрузки: время от начала запроса до завершения рендеринга страницы
  • Время «белого экрана»: время от открытия страницы до первого отображения страницы
  • Время первого экрана: время отображения всех элементов первого экрана
  • Время готовности Dom: момент времени, когда пользователь может начать нормальное взаимодействие
  • Доля медленных загрузок: количество страниц, у которых Общее время загрузки превышает 7 секунд, делённое на количество успешных посещений
  • Коэффициент JS-ошибок: количество страниц, на которых возникла JS-ошибка, делённое на количество посещений страницы
  • Коэффициент HTTP-ошибок: количество страниц, на которых возникла HTTP-ошибка, делённое на количество посещений страницы
  • Коэффициент сетевых ошибок: количество страниц, на которых возникла страница сетевой ошибки, делённое на количество посещений страницы

Список сортируется по PV по убыванию и поддерживает сортировку по возрастанию и убыванию для каждого показателя. Список поддерживает фильтрацию URL по доменному имени. Нажмите на агрегированный URL, чтобы перейти на соответствующую страницу деталей.

WebView сохраняет до 200 агрегированных URL в час. Если требуются пользовательские правила агрегации, выполните настройку. Если пользовательские правила агрегации не требуются, URL агрегируются по умолчанию.

Пользовательские правила агрегации

Добавление правила

Нажмите «Добавить новое правило» (Add New Rule), затем введите правило агрегации и результат агрегации. Правило агрегации должно быть регулярным выражением для URI, например: /reportApp/user/[0-9]{6}. Результат агрегации должен быть URI, начинающимся с косой черты, например: /reportApp/user/*.

Удаление правила

Нажмите «Удалить» (Delete), либо выберите строку и нажмите «Правила пакетного удаления» (Batch Delete Rules), чтобы удалить существующие правила.

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

Нажмите «Редактировать» (Edit) для изменения существующего пользовательского правила.

Изменение порядка

Нажмите «Up», «Down», «Top», «Bottom», чтобы изменить приоритет правила агрегации. При агрегации URL сопоставляется правилам агрегации в порядке приоритета: сначала применяется пользовательское правило, затем применяется правило по умолчанию. Например, можно задать пять правил агрегации, обработать пользовательские правила 1–5 по приоритету, сформировать пять агрегированных URL, затем применить правило по умолчанию и сохранить первые 195 агрегированных URL.

Нажмите «Сохранить настройки» (Save Settings), чтобы сохранить пользовательские правила агрегации и вернуться в раздел WebView Overview.

Детали агрегированного URL

Тренды WebView

Отображаются 4 показателя производительности WebView, включая полную загрузку, «белый экран», первый экран, готовность dom, вместе с трендами PV и сравнением.

Декомпозиция загрузки страницы

Стек-диаграмма декомпозиции производительности загрузки страницы отображает общую производительность страницы, разбитую на следующее: HTML Загрузка, DOM-парсинг и Рендеринг страницы. Показатели определяются следующим образом:

  • HTML Загрузка: время загрузки основного HTML-файла от разрешения DNS до завершения загрузки; не включает время ожидания в очереди и время ответа сервера приложения
  • DOM-парсинг: время преобразования HTML-кода в DOM-дерево и захвата/выполнения синхронных скриптов
  • Рендеринг страницы: время загрузки ресурсов

Декомпозиция сетевой загрузки

Стек-диаграмма декомпозиции сетевой загрузки отображает сетевую часть, разбитую на Stalled, DNS, TCP, SSL, Запрос и Время ответа. Показатели определяются следующим образом:

  • Stalled: время от инициирования запроса до момента, когда запрос может быть отправлен
  • DNS: время преобразования доменного имени в IP-адрес
  • TCP: время установления TCP/IP-соединения
  • SSL: время установления SSL-соединения
  • Запрос: время от начала запроса до получения HTML-кода
  • Ответ: время от ответа сервера до завершения

Статистическое распределение

Отображается статистическое распределение времени полной загрузки, «белого экрана», первого экрана, готовности dom, а также распределение кодов статуса HTTP-ошибок и сетевых ошибок.

  • Время полной загрузки: 0–1с, 1–2с, 2–3с… 7с и более, всего 8 интервалов
  • Время «белого экрана»: 0–200мс, 200–400мс, 400–60мс… 1400мс и более, всего 8 интервалов
  • Время первого экрана: 0–400мс, 400–800мс, 800–1200мс… 2800мс и более, всего 8 интервалов
  • Время готовности Dom: 0–300мс, 300–600мс, 600–900мс… 2100мс и более, всего 8 интервалов

Анализ по регионам

Отображает распределение затрат времени полной загрузки, «белого экрана», первого экрана и готовности dom в комбинациях различных регионов и операторов. Разбиение по интервалам совпадает со Статистическим распределением. Рейтинги регионов и городов показывают TOP10 регионов и городов по затратам времени полной загрузки, «белого экрана», первого экрана и готовности dom.

Анализ и трассировка аномалий

Отображает статистику медленной полной загрузки, медленного отображения «белого экрана», медленного отображения первого экрана, медленного отображения готовности DOM, JS-ошибок, HTTP-ошибок, сетевых ошибок в виде ломаных линий и гистограмм. Отслеживание одиночных образцов приведено ниже в списке. Статистика JS-ошибок, HTTP-ошибок и сетевых ошибок рассчитывается по числу страниц, на которых возникли ошибки, то есть одна страница с несколькими ошибками считается одним случаем. Отслеживание одиночного образца ошибки отображает ошибки основной страницы и не содержит информации об элементах, на которых возникла ошибка.

  • Медленная полная загрузка: страница, у которой время полной загрузки превышает 7с;

Отслеживание одиночного образца отображает: время возникновения, ID пользователя, URL, затраты времени, IP-адрес клиента, версию приложения, ОС, информацию об устройстве, регион, оператора, тип подключения и производителей CDN.

  • Медленное отображение «белого экрана»: страница, у которой время отображения «белого экрана» превышает 1400мс;

Отслеживание одиночного образца отображает: время возникновения, ID пользователя, URL, затраты времени, IP-адрес клиента, версию приложения, ОС, информацию об устройстве, регион, оператора, тип подключения и производителей CDN.

  • Медленное отображение первого экрана: страница, у которой время отображения первого экрана превышает 2800мс;

Отслеживание одиночного образца отображает: время возникновения, ID пользователя, URL, затраты времени, IP-адрес клиента, версию приложения, ОС, информацию об устройстве, регион, оператора, тип подключения и производителей CDN.

  • Медленное отображение готовности DOM: страница, у которой время отображения готовности DOM превышает 2100мс;

Отслеживание одиночного образца отображает: время возникновения, ID пользователя, URL, затраты времени, IP-адрес клиента, версию приложения, ОС, информацию об устройстве, регион, оператора, тип подключения и производителей CDN.

  • JS-ошибка: страница, на которой возникла JS-ошибка;

Отслеживание одиночного образца отображает: время возникновения JS-ошибку, время полной загрузки, ID пользователя, URL, сообщение об ошибке, версию приложения, ОС, информацию об устройстве, регион, оператора и тип подключения.

  • HTTP-ошибка: страница, на которой возникла HTTP-ошибка;

Отслеживание одиночного образца отображает: время возникновения, ID пользователя, URL, тип ошибки, IP-адрес клиента, версию приложения, ОС, информацию об устройстве, регион, оператора, тип подключения и производителей CDN.

  • Сетевая ошибка: страница, на которой возникла сетевая ошибка;

Отслеживание одиночного образца отображает: время возникновения, ID пользователя, URL, тип ошибки, IP-адрес клиента, версию приложения, ОС, информацию об устройстве, регион, оператора, тип подключения и производителей CDN.

Медленная полная загрузка, медленное отображение «белого экрана», медленное отображение первого экрана, медленная готовность DOM, HTTP-ошибка и сетевая ошибка поддерживают поиск по URL, ID пользователя и IP-адресу клиента. JS-ошибка поддерживает поиск по URL и ID пользователя.

Нажмите URL, чтобы перейти на соответствующую страницу деталей трассировки аномалии.

Детали отслеживания аномалий

WebView Slow Page Trace отображает подробную информацию об аномалиях, таких как медленная полная загрузка, медленное отображение «белого экрана», медленное отображение первого экрана, медленная готовность DOM, включая информацию о конечном пользователе, декомпозицию страницы, диаграмму производительности и статистику использования ресурсов.

Информация о конечном пользователе

Отображает IP-адрес клиента, ID пользователя, версию приложения, ОС, информацию об устройстве, регион, оператора, тип подключения и производителей CDN.

Декомпозиция страницы

В хронологическом порядке отображаются затраты времени, где показатели определяются следующим образом:

  • Stalled: время от инициирования запроса до момента, когда запрос может быть отправлен
  • Выгрузка: время выгрузки страницы
  • Перенаправление: время, затраченное на перенаправление
  • DNS: время преобразования доменного имени в IP-адрес
  • TCP: время установления TCP/IP-соединения
  • SSL: время установления SSL-соединения
  • Запрос: время от начала запроса до получения HTML-кода
  • Ответ: время от ответа сервера до завершения
  • Обработка DOM: время преобразования HTML-кода в DOM-дерево и захвата/выполнения синхронных скриптов, то же, что DOM-парсинг
  • Загрузка ресурсов: время загрузки ресурсов, то же, что Рендеринг страницы

Каскадная диаграмма

В хронологическом порядке отображаются затраты времени основной страницы и элементов. Высота показывает размер элемента, ширина — затраты времени. Цвета обозначают типы ресурсов: HTML, LINK, CSS, SCRIPT, IMAGE, XHR, ПРОЧЕЕ (всего 7 категорий). Показатели определяются следующим образом:

  • Начало: момент начала страницы или элемента
  • Stalled: время от инициирования запроса до момента, когда запрос может быть отправлен
  • DNS: время преобразования доменного имени в IP-адрес
  • TCP: время установления TCP/IP-соединения
  • SSL: время установления SSL-соединения
  • Первый пакет: время от начала запроса до получения HTML-кода, то же, что Запрос
  • Загрузка: время от ответа сервера до завершения
  • Завершение: момент завершения страницы или элемента
  • Длительность: время от начала запроса страницы или элемента до завершения рендеринга
  • Запрос: время от начала запроса до получения HTML-кода
  • Ответ: время от ответа сервера до завершения, то же, что Ответ
  • Размер файла: размер полезных данных до удаления кодирования содержимого, то же, что encodedBodySize
  • Размер передаваемого файла: размер полученного ресурса, включая заголовок ответа и полезные данные, то же, что transferSize

Статистика ресурсов

Подсчитывает количество и размер элементов по типам.

Статистика по доменным именам

Подсчитывает количество и размер элементов по доменным именам.

Если размер ресурса равен нулю, это может быть междоменный ресурс. Заголовок ответа необходимо изменить следующим образом:

timing-allow-origin:* // * означает любой домен, также может быть домен основного URL 
                	

Трассировка JS-ошибок

Трассировка JS-ошибок отображает детали страницы с JS-ошибкой, включая информацию о конечном пользователе, сообщения об ошибках и стеки ошибок.

Трассировка HTTP- или сетевых ошибок

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

Ранняя версия

HTTP-запросы WebView

  • HTTP-запросы WebView: Через SO-библиотеку собираются данные производительности HTTP в WebView с идентификацией до уровня элементов.
  • Подготовка: для сбора HTTP-запросов (webview) необходимо добавить SO-библиотеку
  • Поддерживаемые версии: Android 4.0 ~ 4.4 (не включая)
  • Метод сбора: через hook-интерфейс библиотеки libsc на нижнем уровне собираются данные webview и выполняется их организация/различение
  • Собираемые данные: URL, IP, DNS, TCP, SSL

Загрузка страниц WebView


Загрузка страниц — это сбор времени загрузки страницы, времени загрузки DOM и времени рендеринга браузера с помощью технологии внедрения JS, выполняющей callback интерфейса loadUrl.

Связанные настройки:

  • Разрешить JS callback (как правило, включено по умолчанию)
  • Настроить файл project.properties, установить webview = true
  • Войти в отчёт и включить переключатель управления WebView

Примечание: Altynview WebView требуется мониторинг метода setWebViewClient. Если метод не реализован, необходимо добавить следующий код:

webview.setWebViewClient(new WebViewClient(){});