Total blockeringstid mäter den sammanlagda tiden under vilken webbläsarens huvudtråd blockerades av långa uppgifter under sidinläsning, vilket förhindrade den från att svara på användarinmatning. Den summerar den del av varje uppgift som överstiger femtio millisekunder, räknar endast överskottet, och mäts under laboratorieförhållanden mellan första innehållsbaserade målningen och den punkt då sidan blir tillförlitligt interaktiv.
Dess syfte är att fungera som ett laboratoriemått för responsivitet, vilket är svårt att mäta utan verklig användarinteraktion. Eftersom interaktion med Next Paint kräver faktisk användarinmatning kan den inte fångas i ett syntetiskt test där ingen klickar. Total Blocking Time approximerar samma underliggande problem genom att mäta hur mycket av laddningsperioden webbläsaren inte skulle ha kunnat svara, och den korrelerar tillräckligt väl för att vara användbar för diagnos.
Tröskelvärdet på femtio millisekunder återspeglar mänsklig uppfattning snarare än ett godtyckligt val. Uppgifter under den tiden gör att webbläsaren kan reagera på inmatning tillräckligt snabbt för att gränssnittet ska kännas omedelbart, medan längre uppgifter ger en märkbar fördröjning. Att bara räkna överskridandet över tröskelvärdet innebär att en enda uppgift på femhundra millisekunder bidrar med mycket mer än tio uppgifter på sextio, vilket korrekt återspeglar att ett långt block är sämre än flera korta.
Orsakerna är nästan uteslutande JavaScript-körning. Stora paket som måste parsas och kompileras, ramverksinitiering och hydrering på sidor som renderas på servern, tredjepartsskript som körs under laddning och dyra beräkningar som utförs synkront upptar alla huvudtråden. Nätverksförbättringar åtgärdar inte detta: ett skript som laddas ner direkt blockerar fortfarande tråden medan den körs.
Åtgärder sker genom att identifiera vilka uppgifter som är långa och vad de innehåller. Standardmetoderna är att dela upp paket så att endast den kod som behövs för den initiala vyn laddas omedelbart, skjuta upp icke-kritiska skript, dela upp långa uppgifter i mindre delar som ger webbläsaren mellan sig, flytta tung beräkning till en arbetstråd och ta bort tredjepartsskript som inte kan motivera sin kostnad. Att granska tredjeparter individuellt är ofta det steget med högst avkastning, eftersom en enda tagghanteringsbehållare kan dominera mätningen.
Dess förhållande till fältdata kräver noggrann tolkning. Total blockeringstid är en laboratoriemätning under kontrollerade förhållanden, medan interaktion med nästa färg samlas in från riktiga användare på riktiga enheter. En sida kan registrera acceptabel blockeringstid på en snabb testmaskin och dålig fältrespons på de mellanstora telefoner som en stor del av publiken faktiskt använder. Testning under strypta förhållanden som approximerar den verkliga enhetsfördelningen är det som gör laboratoriesiffran prediktiv.
Den täcker också bara laddningsperioden, vilket är en verklig begränsning. Svarsproblem som uppstår senare, när en användare filtrerar en stor lista eller öppnar en komplex vy, är osynliga för en mätning som stoppar när laddningen är klar. Applikationer med betydande interaktivitet efter laddning behöver fältmätning av verkliga interaktioner snarare än att förlita sig på en laddningstidsproxy.
Eftersom åtgärderna rör applikationskod och tredjepartsberoenden snarare än leverans av tillgångar, kräver förbättringar ingenjörskonst snarare än konfiguration. I praktiken ligger diagnosen inom webbprestanda arbete, paketet och utförandeändringarna levereras via produktutveckling, och besluten om vilka tredjepartsskript som motiverar deras huvudtrådskostnad behöver vanligtvis involvera marknadsföringstjänster, eftersom de flesta sådana skript finns där på deras begäran.