← Speed / speed / observatory
RUM beacon для Web Analytics
RUM-маячок представляет собой фрагмент JavaScript, который запускается, когда клиент Cloudflare включает RUM через Web Analytics или Observatory. Этот скрипт выполняется в браузерах пользователей при посещении сайта клиента и предназначен для сбора данных о производительности, например времени загрузки страницы, и отправки их в системы Cloudflare для обработки. Этот данные затем предоставляется клиенту, давая ценную информацию о производительности и использовании сайта.
Скрипт RUM-маячка можно включить на веб-странице двумя способами:
-
Настройка в один клик: Для сайты, проксируемые через Cloudflare с включённым Web Analytics, фрагмент кода можно автоматически внедряется в страницы по мере прохождения HTML-ответа через edge-сеть Cloudflare к браузеру: для этого достаточно включить опцию автоматического внедрения.
-
Ручная настройка: веб-сайты могут вручную добавляют скрипт, встраивая фрагмент кода на свои страницы. См. Раздел «Сайты, не проксируемые через Cloudflare», чтобы узнать больше о том, как вручную вставить этот фрагмент кода в HTML.
Сбор данных
После загрузки в браузер скрипт RUM beacon запускается как JavaScript. Он собирает данные о производительности из браузерных API ↗ и отправляет эти данные в Cloudflare для обработки.
Данные, собранные из браузера, приведены в таблице ниже:
| Поле | Пример | Описание | Как выполняется сбор |
|---|---|---|---|
pageloadId |
0c698922-8d60-40bf-85ac-7982b5f8034d | Уникальный идентификатор страницы. | Формируется в коде браузера. |
referrer |
https://cfrumtest.com/ ↗ | URL страницы-источника перехода. | Если это многостраничное приложение (MPA), оно генерируется из document.referrer ↗. Если это одностраничное приложение (SPA), значение формируется из локальной переменной в памяти в коде маяка (beacon), которая хранит предыдущие URL. |
startTime |
1693488419352 | Базовая точка отсчета для временных меток, связанных с производительностью. | performance.timeOrigin ↗ |
memory |
{ totalJSHeapSize: 39973671, usedJSHeapSize: 39127515, jsHeapSizeLimit: 4294705152 } |
Измеряет размер кучи памяти. | performance.memory ↗ (устарело) |
timings |
Объект PerformanceTiming ↗ | Данные о времени выполнения. | performance.timing ↗ (устаревший, запасной вариант, если timingV2 недоступен) |
timingV2 |
Массив PerformanceNavigationTiming ↗ | Данные о времени навигации. | performance.getEntriesByType("navigation") ↗ |
resources |
Массив PerformanceResourceTiming ↗ | Данные о времени загрузки ресурсов. | performance.getEntriesByType("resource") ↗ |
firstPaint |
Массив PerformancePaintTiming ↗ | Данные о времени отрисовки (Paint Timing). | performance.getEntriesByType("paint") ↗ |
firstContentfulPaint |
209 | Метрика First Contentful Paint. | модуль web-vitals ↗ 1 |
FCP |
209 | Метрика First Contentful Paint. | модуль web-vitals ↗ 1 |
LCP |
209 | Метрика Largest Contentful Paint. | модуль web-vitals ↗ 1 |
CLS |
0.001 | метрика Cumulative Layout Shift. | модуль web-vitals ↗ 1 |
TTFB |
0.03 | Показатель «Время до первого байта». | модуль web-vitals ↗ 1 |
INP |
1.23 | метрика Interaction to Next Paint. | модуль web-vitals ↗ 1 |
landingPath |
https://cfrumtest.com/ ↗ | URL целевой страницы. | performance.getEntriesByType("navigation") ↗ |
Обработка данных
Как правило, данные RUM обрабатываются в ближайшем дата-центре Cloudflare в зависимости от того, как маршрутизируется входящий запрос. Это зависит от ряда факторов, включая Anycast ↗ и Unimog ↗. Поскольку данные RUM не используют службы геолокации, они могут обрабатываться в другой стране или регионе, отличных от места происхождения. Хотя служба RUM получает IP-адрес клиента (источника) из маяка в рамках обычной обработки HTTP-запроса, она удаляет этот IP-адрес на ближайшем дата-центре Cloudflare и не сохраняет его в основных базах данных или журналах.
Информация о конфиденциальности
Скрипт RUM-маячка не сохраняет данные в браузере и не обращается к таким хранилищам данных, как файлы cookie ↗, localStorage ↗, sessionStorage ↗, IP-адрес или IndexedDB ↗. Мы собираем данные о производительности из браузерного API производительности API ↗. Эти данные о производительности временные и относятся только к текущей просматриваемой странице. Если пользователь обновляет страницу в браузере, все предыдущие данные о производительности исчезают, и начинают накапливаться новые. Эти данные нигде на устройстве не сохраняются и не считываются, они доступны только в памяти.
RUM без учета ЕЭЗ/ЕС
Клиенты могут включить RUM глобально либо ограничить его использование, исключив пользователей, подключающихся к дата-центрам Cloudflare в регионе ЕЭЗ/ЕС. При выборе второго варианта маяк RUM не обрабатывает данные о производительности для пользователей, подключающихся к дата-центру Cloudflare, расположенному в следующих странах (коды ISO): AT, BE, BG, HR, CY, CZ, DK, EE, FI, FR, DE, GR, HU, IS, IE, IT, LV, LI, LT, LU, MT, NL, NO, PL, PT, RO, SK, SI, ES, SE, CH, GB.
У клиентов на плане Free RUM включается автоматически, при этом трафик из ЕС исключается, а при желании эту функцию можно отключить. Клиенты на других планах могут включить RUM по мере необходимости.
