RUM: как собирать Core Web Vitals с реальных пользователей и что с ними делать
Лабораторные измерения показывают потенциал, реальные пользователи — правду: у них другие устройства, сети и расширения браузера. Поэтому метрики собирают из поля: LCP (когда появился основной контент), INP (отзывчивость на взаимодействия, сменивший FID), CLS (сдвиги вёрстки), плюс TTFB для серверной части. Собирают их браузерным API через небольшую библиотеку и отправляют пачкой на visibilitychange через sendBeacon — отправка на unload теряется. Смотреть надо не среднее, а перцентили (обычно 75-й, как в определении «хорошего» порога) и обязательно в разрезах: страница, тип устройства, страна, тип соединения, версия сборки. Именно разрез по версии превращает RUM из красивого дашборда в инструмент: регрессия видна как расхождение перцентиля между сборками, а не как «стало хуже где-то на прошлой неделе».