Обзор Real User Monitoring (RUM)

Real User Monitoring (RUM) даёт глубокое понимание того, как реальные пользователи воспринимают ваше веб-приложение. В отличие от синтетического мониторинга, использующего автоматизированные скрипты, RUM фиксирует реальные взаимодействия пользователей, метрики производительности и ошибки в том виде, в каком они происходят в production.

Что такое RUM?

RUM — это решение для мониторинга на стороне браузера, которое собирает данные о производительности и использовании прямо из браузеров ваших пользователей. Оно помогает понять:

  • Производительность: время загрузки страниц, Core Web Vitals, тайминги ресурсов
  • Пользовательский опыт: взаимодействия, клики, паттерны навигации
  • Ошибки: JavaScript-ошибки, неудавшиеся запросы, стек-трейсы
  • Поведение: session replay, пользовательские сценарии, воронки конверсии

Core Web Vitals

StatusRadar RUM автоматически отслеживает Core Web Vitals от Google:

Largest Contentful Paint (LCP)

Измеряет производительность загрузки. Хороший LCP — менее 2,5 секунд.

Interaction to Next Paint (INP)

Измеряет отзывчивость и интерактивность. Хороший INP — менее 200 мс.

Cumulative Layout Shift (CLS)

Измеряет визуальную стабильность. Хороший CLS — менее 0,1.

First Contentful Paint (FCP)

Измеряет момент появления первого контента. Хороший FCP — менее 1,8 секунд.

Time to First Byte (TTFB)

Измеряет время ответа сервера. Хороший TTFB — менее 800 мс.

Ключевые возможности

📊 Мониторинг производительности

  • Тайминги загрузки страницы (DNS, TCP, DOM, рендеринг)
  • Тайминги ресурсов (скрипты, таблицы стилей, изображения)
  • Отслеживание сетевых запросов (fetch, XHR)
  • Обнаружение длинных задач (long task)

🎬 Session Replay

  • Запись пользовательских сессий с помощью rrweb
  • Воспроизведение взаимодействий и навигации пользователя
  • Конфиденциальная запись (маскирует чувствительные данные)
  • Сжатое хранение для эффективности

🐛 Отслеживание ошибок

  • JavaScript-ошибки со стек-трейсами
  • Необработанные отклонения промисов
  • Неудавшиеся сетевые запросы
  • Логи и предупреждения консоли

👆 Взаимодействия пользователя

  • Отслеживание кликов с селекторами элементов
  • Отправка форм
  • События навигации
  • Отслеживание пользовательских событий

Как это работает

Browser → RUM SDK → StatusRadar Platform → Dashboard & Analytics

Поток данных:

  1. Browser: пользователь заходит на ваш сайт
  2. RUM SDK: лёгкая JavaScript-библиотека (~15 КБ gzip) собирает данные
  3. StatusRadar Platform: безопасно обрабатывает и хранит телеметрию
  4. Dashboard: аналитика в реальном времени и визуализация session replay

Сценарии использования

E-commerce

Отслеживайте сценарии оформления заказа, выявляйте медленные страницы товаров, оптимизируйте воронки конверсии.

SaaS-приложения

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

Контентные сайты

Оптимизируйте скорость страниц, отслеживайте вовлечённость читателей, снижайте показатель отказов.

Мобильные веб-приложения

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

Конфиденциальность и соответствие требованиям

  • Настраиваемое маскирование: автоматически маскирует чувствительные поля ввода (пароли, данные карт)
  • Белый список доменов: принимает данные только с авторизованных доменов
  • Соответствие GDPR: интеграция с согласием пользователя, контроль хранения данных
  • Без сбора PII: IP-адреса хешируются, отслеживающие cookie не используются

Квоты и тарификация

Каждый план включает месячные квоты:

  • Sessions: уникальные пользовательские сессии
  • Events: общее число событий (pageload, vitals, errors, clicks и т. д.)
  • Replay Storage: сжатые данные session replay

Доступны top-up при превышении: https://statusradar.dev/dashboard/billing

Дальнейшие шаги

Поддержка браузеров

  • Chrome/Edge 90+
  • Firefox 88+
  • Safari 14+
  • Мобильные браузеры (iOS Safari 14+, Chrome Mobile)

Размер SDK

  • Core RUM: 12 КБ gzip
  • С Session Replay: 15 КБ gzip
  • Ленивая загрузка: модуль replay загружается по требованию