Трейсы сессий

Каждая пользовательская сессия записывается в виде трейса, содержащего полную цепочку просмотров страниц, загрузок ресурсов, действий пользователя и ошибок. Это позволяет детально анализировать путь пользователя и диагностировать проблемы производительности.

На этой странице:

Обзор

Proto Observability Platform записывает каждую пользовательскую сессию в виде распределённого трейса. Трейс сессии объединяет все события, произошедшие в рамках одной сессии пользователя:

  • Просмотры страниц (views) — первичная загрузка и навигация по SPA-роутам
  • Загрузки ресурсов (resources) — JavaScript, CSS, изображения, шрифты, XHR/Fetch-запросы
  • Действия пользователя (actions) — клики, скроллы и другие взаимодействия
  • Длинные задачи (long tasks) — операции, блокирующие основной поток UI
  • Ошибки (errors) — JavaScript-ошибки и сетевые ошибки

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

Список сессий

Раздел Цифровой опыт > Веб-приложения > Сессии отображает таблицу всех записанных пользовательских сессий.

images/eum-session-list.png

Для каждой сессии отображаются:

Столбец Описание
Дата начала Время начала сессии
ID сессии Уникальный идентификатор сессии (ссылка на трейс)
Имя пользователя Имя пользователя, если задано через API агента
Город Город, определённый по IP-адресу
О сессии Дополнительная информация о сессии
Время на сайте Общая длительность сессии
Просмотры Количество просмотренных страниц
Действия Количество действий пользователя
Ошибки Количество ошибок за сессию

Фильтрация сессий

Доступны следующие параметры фильтрации:

  • Версия ОС
  • Версия приложения
  • Город
  • Имя пользователя
  • Название ОС
  • Тип устройства
  • Email пользователя
  • ID пользователя

Анализ трейса сессии

При клике на ID сессии открывается детальный трейс сессии с несколькими вкладками для анализа.

Сводка

Вкладка Сводка предоставляет общую информацию о сессии.

../images/eum-session-summary.png

Общая информация:

  • Общая длительность сессии
  • Количество спанов (событий)
  • Наличие ошибок
  • Время начала сессии
  • Тип браузера и устройства
  • Страна

Задействованные сервисы и затраченное время — диаграмма распределения времени по сервисам.

Контекст пользователя:

  • Город, страна и регион (определяются по IP-адресу)
  • IP-адрес
  • Операционная система и версия (device.os.name, device.os.version)
  • Тип устройства (device.type)
  • Браузер и версия (ua.name, ua.version)
  • Полная строка User Agent (ua.string)
  • ID просмотра и ID сессии

Анализ производительности:

  • Самый медленный спан — автоматическое определение наиболее медленной операции
  • Количество спанов с ошибками
  • Количество обращений к БД
  • Количество внешних HTTP-вызовов

Операции по типу и затраченное время — визуальная разбивка по типам операций:

  • Загрузка ресурса (resource) — общее количество спанов и суммарное время
  • Длительная задача (long task)
  • Просмотр (view)
  • Действие (action)

Дерево событий

Вкладка Дерево отображает хронологический водопад всех событий сессии, аналогично инструментам разработчика браузера.

../images/eum-session-tree.png

Каждое событие в дереве содержит:

  • Тип события — просмотр, загрузка ресурса, действие, ошибка
  • Название и URL — имя операции и связанный URL
  • Длительность — время выполнения операции

При выборе спана в дереве открывается панель Детали с полным набором атрибутов:

Топология:

  • Сервис — имя отслеживаемого приложения
  • Эндпоинт — тип и имя операции (например, view: initial_load)
  • Тип спана — категория (Просмотр, Ресурс, Действие)
  • Компонент — внутренняя классификация (например, internal)
  • resource — URL связанного ресурса

Метрики производительности (для view-спанов):

  • action_count — количество действий
  • cumulative_layout_shift — показатель CLS
  • display.viewport.height / display.viewport.width — размер области просмотра
  • dom_complete, dom_content_loaded, dom_interactive — таймеры DOM
  • error_count — количество ошибок
  • first_contentful_paint — время FCP
  • foreground_periods_count, foreground_time_ratio — метрики видимости
  • frustration_count — количество сигналов фрустрации
  • is_active — статус активности
  • largest_contentful_paint — время LCP
  • load_event, loading_time — таймеры загрузки
  • loading_type — тип загрузки (initial_load или route_change)
  • long_task_count — количество длинных задач
  • referrer — URL перехода

Статистика

Вкладка Статистика агрегирует все операции сессии по типам и предоставляет сводные метрики производительности.

../images/eum-session-stats.png

Для каждого типа операции отображаются:

Столбец Описание
Имя операции Тип и подтип операции (например, resource: js, view: initial_load)
Тип спана Категория: resource, view, action, long_task
Макс. длительность Максимальное время выполнения среди всех операций данного типа
Мин. длительность Минимальное время выполнения
Общая длительность Суммарное время всех операций данного типа
Средняя длительность Среднее время выполнения
Кол-во Количество операций данного типа

Это позволяет быстро определить:

  • Какие типы ресурсов загружаются чаще всего (например, JavaScript — 33 загрузки)
  • Какие ресурсы занимают больше всего времени (например, images — 4.75 с суммарно)
  • Есть ли длинные задачи и сколько они занимают
  • Сколько было навигаций по страницам (view: initial_load vs view: route_change)