Performance RUM

Percentyle,
nigdy średnie.

Core Web Vitals od prawdziwych użytkowników w pełnej głębi percentyli — p50, p75, p90, p95 dla LCP, INP, CLS, FCP i TTFB — zbierane oficjalnym buildem web-vitals z atrybucją i przechowywane jako TDigesty w ClickHouse, więc każdy percentyl to prawdziwy percentyl danych z pola. Średnie ukrywają regresje; percentyle ich dowodzą.

Pełna głębia percentyli

p50, p75, p90, p95 — dla wszystkich pięciu vitals.

Każdy vital jest przechowywany jako ClickHouse TDigest per dzień, per strona, per klasa urządzenia — co znaczy, że dowolny percentyl można przeliczyć dokładnie, na dowolnej głębokości retencji, bez uśredniania czegokolwiek. Oceny idą metodologią CrUX: good, needs-improvement, poor.

Vitalp50p75p90p95Ocena p75
LCP — largest contentful paint1.6 s2.1 s3.0 s3.8 sgood
INP — interaction to next paint96 ms148 ms214 ms268 msgood
CLS — cumulative layout shift0.030.120.180.24needs-imp.
FCP — first contentful paint1.1 s1.5 s2.1 s2.6 sgood
TTFB — time to first byte0.4 s0.9 s1.2 s1.9 sneeds-imp.

Progi to opublikowane przez Google granice CrUX: LCP 2.5 s / 4.0 s · INP 200 ms / 500 ms · CLS 0.10 / 0.25 · FCP 1.8 s / 3.0 s · TTFB 800 ms / 1.8 s — good, needs-improvement, poor. Percentyle pochodzą z TDigestów, nie z próbkowanych średnich.

Rozbicia i atrybucja

Tnij każdy vital, dopóki się nie przyzna.

Serie dzienne do obserwacji trendów, rozbicia per strona, by znaleźć wolne trasy, podziały per urządzenie, bo mobile to inny internet — a do drążenia dane atrybucji: który element namalował się ostatni, który cel interakcji się zatkał.

Atrybucja w zestawie

Oficjalny build web-vitals z atrybucją raportuje element stojący za LCP i CLS oraz cel interakcji stojący za INP — zły percentyl nazywa swojego podejrzanego, a drążenie zaczyna się od podejrzanego, nie od pustej kartki.

Per strona, per urządzenie

Każdy percentyl jest dostępny per ścieżka i per klasa urządzenia. „Strona jako całość jest ok” to nie odpowiedź, gdy /checkout na mobile jest tym jednym, który zaciąga p75 za linię.

Serie dzienne, bez zgody

Vitals są zbierane z zerem cookies i zerem pamięci przeglądarki w trybie domyślnym — ta sama postawa bez banera co reszta Observera, na Twoim własnym sprzęcie.

Wykrywanie anomalii

Gdy metryka rusza się, dostajesz zdania.

z-score ≥ 2 względem kroczącego punktu odniesienia, liczone na odsłonach, błędach, celach i Core Web Vitals — i renderowane jako karty zwykłym językiem na Przeglądzie. Bez teatru ML, bez nieprzejrzystych wyników: uczciwa flaga statystyczna, sformułowana tak, by człowiek mógł na niej działać.

Odsłony

„Odsłony na /pricing są 2.4σ poniżej kroczącego punktu odniesienia — sprawdź niedawne wdrożenia i kampanie.” Zmiany wolumenu wychodzą na wierzch, zanim kosztują cię tydzień.

Błędy

„Wskaźnik błędów przesunął się na 2.1σ powyżej punktu odniesienia w ostatniej godzinie.” Karta linkuje prosto do okna, w którym zaczęło się ruszać.

Cele

„Konwersje celu są 2.3σ poniżej punktu odniesienia w perspektywie 24 h.” Spadki konwersji dostają flagę tą samą matematyką co spadki ruchu.

Core Web Vitals

„LCP p75 przesunął się na 3.1 s na /pricing — sprawdź niedawne wdrożenia.” Dokładnie ta karta, którą Przegląd pokazuje, gdy vital przecina swój punkt odniesienia.

Wszystkie wykrycia to z-score na danych zagregowanych względem kroczącego punktu odniesienia — ta sama uczciwa statystyka, która napędza reguły alertów. Nigdy nic nie jest wnioskowane o pojedynczych osobach, bo danych o osobach w ogóle nie ma.

Porównanie wdrożeń

Wyślij, potem zmierz wysyłkę.

POST na webhook wdrożenia — uwierzytelniony tokenem witryny — i Przegląd dostaje delty „od ostatniego wdrożenia”: odsłony, cele, błędy i CWV po wdrożeniu, na tle równiej długości okna sprzed niego. Polowanie na regresje przestaje być archeologią.

Webhook wdrożenia — odpalany przez Twoje CI
# site-token auth; the timestamp lands on the deploy table
curl -X POST https://sa.yourdomain.com/api/v1/deploy \
  -H "Authorization: Bearer <site-token>" \
  -H "Content-Type: application/json" \
  -d '{ "version": "v2.4.2" }'
Od ostatniego wdrożenia · v2.4.2 · okno 6 h vs równe okno wcześniejporównanie wdrożeń
MetrykaPrzedPoΔ
Odsłony6,1207,214+17.9%
Cele214262+22.4%
Błędy9631−67.7%
LCP p752.9 s2.3 s−0.6 s
Delty porównują równe okno po wdrożeniu z oknem sprzed niego — te same godziny doby, ta sama matematyka, zero wybierania danych pod wynik.

Mierz to, co odwiedzający
naprawdę czują.

Core Web Vitals RUM wchodzi w tryb domyślny — percentyle od pierwszego dnia, bez banera zgody. Dostęp po podpisaniu NDA; wdrażamy razem z Twoim zespołem DevOps, na Twoim sprzęcie.