Performance Monitoring Tools for Web Vitals
Guide to tools for measuring and monitoring Core Web Vitals. Covers PageSpeed Insights, Lighthouse, Chrome DevTools, CrUX, Search Console, WebPageTest, and the web-vitals library.
Detailed Explanation
Tools for Measuring Core Web Vitals
Effective performance optimization requires accurate measurement. There are two types of data: lab data (synthetic, controlled tests) and field data (real users in production).
Lab vs Field Data
| Aspect | Lab Data | Field Data |
|---|---|---|
| Environment | Controlled (fixed network, CPU) | Real users (varied conditions) |
| Metrics | TBT, LCP, CLS, FCP, TTFB | INP, LCP, CLS, FCP, TTFB |
| Timing | Before deploy | After deploy |
| Variability | Consistent | Varies by user |
| Tools | Lighthouse, DevTools, WebPageTest | CrUX, RUM, web-vitals |
Google PageSpeed Insights
PageSpeed Insights (pagespeed.web.dev) provides both lab and field data:
- Field data from Chrome User Experience Report (CrUX) — shows real user metrics
- Lab data from Lighthouse — shows controlled test results
- Opportunities and Diagnostics — specific recommendations
Chrome DevTools Performance Panel
The most powerful lab tool for debugging:
- Open DevTools → Performance tab
- Set CPU throttling (4x slowdown) and network throttling (Slow 3G)
- Record a page load or interaction
- Analyze the flame chart for long tasks, layout shifts, and LCP timing
Lighthouse
Run Lighthouse from Chrome DevTools, CLI, or CI/CD:
# CLI usage
npx lighthouse https://example.com --output=json --output-path=./report.json
# CI integration
npx lhci autorun --collect.url=https://example.com
web-vitals JavaScript Library
The official library for measuring field metrics:
import { onCLS, onINP, onLCP, onFCP, onTTFB } from 'web-vitals';
function sendToAnalytics(metric) {
const body = JSON.stringify({
name: metric.name,
value: metric.value,
rating: metric.rating,
delta: metric.delta,
id: metric.id,
navigationType: metric.navigationType,
});
// Use sendBeacon for reliable delivery
navigator.sendBeacon('/api/vitals', body);
}
onCLS(sendToAnalytics);
onINP(sendToAnalytics);
onLCP(sendToAnalytics);
onFCP(sendToAnalytics);
onTTFB(sendToAnalytics);
Google Search Console
The Core Web Vitals report in Search Console shows:
- URL-level performance grouped by status (Good / Needs Improvement / Poor)
- Trend data over 28 days
- Mobile and desktop separately
- Links to specific URLs needing attention
WebPageTest
WebPageTest (webpagetest.org) provides:
- Waterfall charts showing resource loading
- Filmstrip view of visual progress
- Core Web Vitals timing markers
- Third-party request breakdown
- Testing from multiple global locations
Use Case
Performance monitoring is essential for any team that cares about user experience and SEO. Set up the web-vitals library to collect field data from real users, use Lighthouse CI in your deployment pipeline to catch regressions, and monitor Google Search Console for Core Web Vitals status. This multi-layered approach ensures you detect and fix performance issues before they impact rankings.
Try It — Web Vitals Reference
Related Topics
Core Web Vitals Scoring Thresholds — Complete Reference
Reference
LCP Optimization Strategies — Largest Contentful Paint Guide
Core Web Vitals
INP Explained — Interaction to Next Paint Deep Dive
Core Web Vitals
How to Identify the LCP Element on Your Page
Diagnostics
TTFB Optimization — Time to First Byte Best Practices
Supplementary Metrics