Wymiar Core/Dash: LOAF

Znajdź dokładne adresy URL skryptów, które blokują główny wątek i pogarszają INP, przypisując długie klatki animacji do ich źródła.

Bezpłatny okres próbny [include]partners.html[\/include]

Wymiar: Long Animation Frames (lurl)

Wymiar LOAF ujawnia adresy URL skryptów, które spowodowały długie klatki animacji (Long Animation Frames) podczas sesji użytkowników. Każda wartość to adres URL skryptu: pakiet własny, tag analityczny strony trzeciej, widget czatu, menedżer zgód lub cokolwiek innego, co działało wystarczająco długo, aby zablokować renderowanie. Jest to atrybucja na poziomie źródła, a nie tylko ślad stosu (stack trace), który trzeba rekonstruować w DevTools.

CoreDash gromadzi te dane za pomocą [url=https:\/\/developer.chrome.com\/docs\/web-platform\/long-animation-frames]Long Animation Frames API (LoAF)[\/url], które Chrome udostępnia jako zamiennik starszego Long Tasks API. Tam, gdzie Long Tasks informowało tylko, że klatka trwała zbyt długo, LoAF mówi, które skrypty zostały uruchomione w tej klatce i jakie były ich adresy URL. To właśnie to rozróżnienie sprawia, że ten wymiar jest użyteczny w środowisku produkcyjnym.

coredash loaf scripts

Dlaczego Long Tasks nie wystarczało

Long Tasks API (dostępne od 2017 r.) flagowało każde zadanie głównego wątku przekraczające 50 ms, ale nie zapewniało prawie żadnej atrybucji. Można było zauważyć, że nastąpiło blokowanie, ale nie było wiadomo, co je spowodowało. Programiści spędzali godziny na korelowaniu znaczników czasu zadań z kaskadami sieciowymi, zgadując, który skrypt był odpowiedzialny.

LoAF API zmienia to. Raportuje ono obiekty PerformanceLongAnimationFrameEntry, z których każdy zawiera tablicę scripts. Każdy wpis w tej tablicy posiada invokerType, sourceURL oraz duration. CoreDash odczytuje sourceURL dla każdego skryptu, który został uruchomiony podczas długiej klatki, i przechowuje go jako wartość wymiaru LOAF. Wynikiem jest ranking adresów URL skryptów uporządkowany według częstotliwości ich występowania w długich klatkach użytkowników.

Jak CoreDash wykorzystuje dane LoAF

Za każdym razem, gdy interakcja użytkownika wyzwala długą klatkę animacji, CoreDash rejestruje adresy URL skryptów przyczyniających się do tego obok obserwacji INP. Oznacza to, że możesz filtrować dane INP według adresu URL LOAF i zobaczyć, który skrypt jest odpowiedzialny za najgorsze interakcje. Wymiar grupuje dane według adresu URL, więc widzisz liczbę sesji, w których dany skrypt spowodował długą klatkę.

Typowe wpisy, które zobaczysz w wymiarze LOAF: