Resumen

  • La recomendación Performance Timeline de 2013 reunió mediciones en entradas con nombre, tipo, momento de inicio y duración, consultables mediante métodos como getEntriesByType().
  • Un borrador Level 2 de 2015 incorporó PerformanceObserver para recibir nuevas entradas al registrarse. El texto candidato de 2016 y la especificación actual precisan su entrega y los límites de los búferes.

«La página va lenta» puede ser una queja de tres palabras y una investigación de tres días. El navegador conserva pistas: una navegación, la carga de un recurso, una marca puesta por el propio sitio. La recomendación del W3C de diciembre de 2013 les dio forma común como PerformanceEntry. getEntries() y getEntriesByType() permitían sacar una copia de las fichas ya recogidas. El archivo estaba ordenado; tocaba ir a consultarlo.

Las páginas, sin embargo, siguen trabajando después de la primera consulta. Llega una imagen, termina una tarea, aparece otra marca. El programa puede volver una y otra vez al archivo, como un redactor que interrumpe al cronometrista cada minuto para preguntarle si acaba de apuntar algo. El cronometrista lo sabe en el instante exacto. Bastaría con que diera un toque cuando entrara una ficha relevante.

Eso describe el borrador Performance Timeline Level 2 de septiembre de 2015. Sus ejemplos muestran primero la lectura de entradas almacenadas y luego un PerformanceObserver con función de respuesta y tipos elegidos. Al producirse nuevas mediciones de esos tipos, el navegador entrega una lista al código del sitio. La función puede tratar varias entradas juntas y dejar de escuchar cuando termine su encargo. El reloj vuelve a su trabajo de medir; el aviso viaja solo.

La historia de publicaciones del W3C fecha el primer borrador público de Level 2 el 16 de julio de 2015. La Recomendación Candidata de diciembre de 2016 desarrolló el registro de observadores y la entrega de entradas. El cambio parece pequeño, pero ahorra una costumbre absurda: preguntar por una medición nueva a quien sabe perfectamente cuándo la acaba de escribir.

Un observador necesita una misión. Si las imágenes de la portada parecen tardar, el equipo puede escuchar entradas de recursos. Si un gesto concreto se atasca, puede marcar sus etapas y estudiar esas entradas. El navegador ofrece el formato y la llamada; el sitio elige qué escuchar y qué significa. Poner una campana en cada mesa sin un problema definido sólo transforma la investigación en ruido.

La especificación vigente explica cómo observar entradas nuevas y, cuando procede, recuperar las que ya estaban guardadas. También describe búferes por tipo y recuentos de entradas descartadas al llenarse. La bandeja del cronometrista tiene fondo. Un análisis cuidadoso pregunta cuándo empezó a observar y cuántas fichas podrían haberse perdido, además de leer las que sí llegaron.

El navegador pasó a llamar cuando registra una medida. Los autores conservan el juicio sobre la experiencia del lector y la decisión de cambiar el producto. Un reloj puede señalar el retraso de una fotografía; no puede decidir si aquella fotografía debía ocupar media portada.