Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Hora de medición en UTC. |
| route_template | Utf8 | Plantilla de ruta estable sin valores de usuario o cadena de consulta. |
| release | Utf8 | Identificador de versión de interfaz. |
| metric_name | Utf8 | Nombre de la métrica LCP, INP o CLS controlada. |
| metric_value | Float64 | Valor de la métrica en su unidad documentada. |
| passed | Boolean | Si la muestra superó el umbral de versión del producto. |
| environment | Utf8 | Entorno de implementación. |
Copiar la consulta
SELECT
route_template,
release,
COUNT(*) AS samples,
AVG(CASE WHEN metric_name = 'LCP' THEN metric_value ELSE NULL END) AS avg_lcp_ms,
AVG(CASE WHEN metric_name = 'INP' THEN metric_value ELSE NULL END) AS avg_inp_ms,
AVG(CASE WHEN metric_name = 'CLS' THEN metric_value ELSE NULL END) AS avg_cls,
100.0 * SUM(CASE WHEN passed THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS passing_samples_pct
FROM frontend_vital_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
AND environment = 'production'
GROUP BY route_template, release
ORDER BY passing_samples_pct ASC, route_template, release;Esta consulta de solo lectura se planifica y ejecuta en una tabla escrita vacía con Apache DataFusion 45.2.0. El resultado de la muestra determinista es sintético y se revisa por separado; valide tipos de campos, umbrales y definiciones comerciales con sus propios datos. Lea la metodología de prueba.
Resultado de la consulta
Pasar muestras de frontend por ruta
Checkout aprueba la mitad de sus muestras sintéticas de LCP, INP y CLS; la búsqueda pasa todas las muestras.
| route_template | release | samples | avg_lcp_ms | avg_inp_ms | avg_cls | passing_samples_pct |
|---|---|---|---|---|---|---|
| /checkout | web-102 | 6 | 2800 | 220 | 0,1 | 50 |
| /search | web-102 | 6 | 1850 | 120 | 0,05 | 100 |
Salida de ejemplo sintético. Ejecute la consulta con su propio esquema de eventos y umbrales antes de utilizarla para decisiones operativas.
Reproducir el ejemplo
Descargar el accesorio público
El paquete JSON incluye el contrato de evento escrito, reproducible filas de entrada, SQL exacto, resultado esperado, notas de revisión y versión del motor. El CSV contiene el resultado mostrado.
Cómo funciona el SQL
- 1Las plantillas de ruta evitan una serie de gráficos por URL sin formato o identificador de cliente.
- 2La dimensión de lanzamiento convierte un cambio de rendimiento en una investigación con alcance de implementación.
- 3Los promedios específicos de métricas permanecen junto a un único resumen de muestra aprobada para que los revisores puedan ver qué vital se movió.
Casos extremos para decidir
- Utilice umbrales específicos de métricas revisados y registre su versión cuando cambien las definiciones.
- Segmente la clase y la geografía del dispositivo solo cuando el volumen de la muestra proteja la comparación del ruido.
- Prefiera percentiles a promedios para informes de experiencia de producción cuando el motor SQL y el volumen de muestra lo permitan.
Panel recomendado
- Barras: passing_samples_pct por ruta y lanzamiento.
- Tendencias: LCP, INP y CLS por día completo
- Tabla: rutas con recuento de muestras y cambio de versión
Guía de alerta
Alerta solo cuando el volumen de muestra es suficiente y una ruta permanece por debajo de su objetivo de rendimiento revisado para depósitos completos.
Leer configuración de alertaPon la receta a trabajar
Instrumentación y guías relacionadas.
Definir los datos de origen
Esquemas de eventos para este análisis.
Continuar el análisis
Clasificar los errores JavaScript por ruta y versión
Encuentre versiones y rutas de frontend con las fallas de JavaScript más repetidas y las sesiones afectadas.
Receta abiertaMedir la latencia de navegación SPA por ruta
Compare el tiempo de navegación típico y final del lado del cliente por ruta de destino y versión de interfaz.
Receta abiertaCalcular la tasa de tareas largas del navegador por ruta
Mida los eventos de bloqueo del hilo principal y su tiempo total de bloqueo por ruta y lanzamiento de interfaz.
Receta abiertaEjecútelo en eventos reales.
Crea una tabla, adapta los campos y guarda el resultado.
Comience gratis, envíe eventos estructurados y utilice el resultado de la consulta como un gráfico, un widget de panel compartido o una entrada de alerta.