Qué es Generador de snippet PerformanceObserver?
PerformanceObserver es una API del navegador que permite a los desarrolladores observar eventos de medición de rendimiento en tiempo real. En lugar de sondear la línea de tiempo de rendimiento o depender de mediciones de tiempo manuales, PerformanceObserver se suscribe a tipos de entrada específicos (como largest-contentful-paint, layout-shift, first-input, paint y navigation) y recibe las entradas a medida que se registran. Este es el enfoque estándar recomendado por el Web Performance Working Group para medir Core Web Vitals. La API soporta una bandera buffered que devuelve entradas históricas inmediatamente al registrarse, asegurando que no se pierdan métricas que se disparan antes de que el observer esté configurado. Baseline 2025, compatible con Chrome 73+, Edge 73+, Safari 14.1+ y Firefox 84+.
Respuesta rápida
PerformanceObserver proporciona monitoreo en tiempo real de Core Web Vitals (LCP, INP, CLS, FID, FCP, TTFB) mediante un patrón observer eficiente con soporte de entradas almacenadas en búfer. Clasifique cada métrica según los umbrales bueno/mejorable/malo de Google y opcionalmente reporte mediante navigator.sendBeacon para entrega confiable de analítica. Baseline 2025 (Chrome 73+, Safari 14.1+, Firefox 84+). Más eficiente que el sondeo y el enfoque recomendado para medición de Web Vitals en producción.
Last updated: 2026-06-02
Limitaciones
- Las entradas de PerformanceObserver no persisten entre navegaciones de página: cada carga de página comienza con una línea de tiempo nueva. Para cambios de ruta en SPA, los observers deben reconectarse manualmente para continuar rastreando métricas en la nueva ruta.
- Algunos tipos de entrada de rendimiento tienen disponibilidad o comportamiento específico del navegador. Por ejemplo, las entradas layout-shift no están disponibles en todos los navegadores (Firefox añadió soporte en la versión 134), y la observación de INP requiere Chrome 121+ o Safari 18+. Verifique siempre el soporte antes de registrar observers.
- PerformanceObserver tiene un búfer limitado para cada tipo de entrada. Si el búfer se llena antes de que el observer se registre y buffered: true no está configurado, las entradas antiguas pueden descartarse. Registre los observers temprano en el ciclo de vida de carga de la página y use buffered: true para capturar entradas que se dispararon durante la ruta de renderizado crítico.
Sources:MDN Web Docs · W3C Specifications · jquery.app on GitHub
Cómo usar esta herramienta
- Seleccione las métricas de rendimiento a observar: Core Web Vitals (LCP, INP, CLS, FID, FCP, TTFB) o tipos de entrada individuales como paint, layout-shift, largest-contentful-paint, first-input y navigation.
- Configure la clasificación de umbrales: cada métrica se clasifica automáticamente como buena, mejorable o mala según los umbrales de Google Web Vitals. Opcionalmente personalice los umbrales según sus requisitos específicos.
- Elija un método de reporte: registre los resultados en la consola, envíe datos mediante navigator.sendBeacon a un endpoint de analítica, o proporcione una función callback personalizada para integración con su monitoreo existente.
- Copie el fragmento JavaScript generado. La salida incluye una configuración completa de PerformanceObserver con múltiples observers, soporte de entradas almacenadas, clasificación de umbrales y reporte opcional mediante sendBeacon.
Para qué puedes usarla
- Rastrear Core Web Vitals en producción y reportarlos a un endpoint de analítica usando sendBeacon para transmisión de datos confiable y no bloqueante incluso durante la descarga de página.
- Monitorear LCP en tiempo real durante el desarrollo para verificar que las optimizaciones de rendimiento (compresión de imágenes, carga de fuentes, lazy loading) están realmente reduciendo los tiempos de LCP.
- Detectar cambios de layout inesperados (CLS) en un sitio en vivo registrando cada entrada de layout-shift con su puntuación y nodos afectados, ayudando a identificar la fuente de los cambios de layout acumulativos.