Contrato de evento
Campos que espera la consulta
| Campo | Tipo | Por que existe |
|---|---|---|
| timestamp_utc | Timestamp | Hora de evaluación de impacto en UTC. |
| incident_id | Utf8 | Identificador de incidentes estable. |
| account_id | Utf8 | Identificador de cuenta seudónimo aprobado. |
| plan | Utf8 | Plan acotado o nivel de servicio. |
| impact_type | Utf8 | Categoría de impacto visible para el cliente controlada. |
| affected | Boolean | Si la cuenta cumplió con la definición de impacto documentada. |
| impact_duration_ms | Int64 | Duración del impacto medida en milisegundos. |
| environment | Utf8 | Entorno de implementación. |
Copiar la consulta
SELECT
incident_id,
plan,
COUNT(*) AS assessed_accounts,
SUM(CASE WHEN affected THEN 1 ELSE 0 END) AS affected_accounts,
100.0 * SUM(CASE WHEN affected THEN 1 ELSE 0 END)
/ NULLIF(COUNT(*), 0) AS affected_accounts_pct,
AVG(CASE WHEN affected THEN impact_duration_ms ELSE NULL END)
AS avg_impact_duration_ms
FROM incident_account_impact_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
AND environment = 'production'
GROUP BY incident_id, plan
ORDER BY affected_accounts DESC, plan;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
Cuentas afectadas por plan
Tres cuentas empresariales y dos cuentas iniciales cumplen con la definición sintética de impacto de incidente.
| incident_id | plan | assessed_accounts | affected_accounts | affected_accounts_pct | avg_impact_duration_ms |
|---|---|---|---|---|---|
| incident-checkout-42 | enterprise | 4 | 3 | 75 | 40.000 |
| incident-checkout-42 | starter | 5 | 2 | 40 | 20.000 |
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
- 1El denominador de cuenta evaluada evita que una unión incompleta se haga pasar por una tasa de impacto baja.
- 2El plan es una dimensión de priorización limitada; la consulta no expone los nombres de los clientes.
- 3La duración del impacto se calcula solo para las cuentas afectadas, de modo que las filas no afectadas no acerquen el promedio a cero.
Casos extremos para decidir
- Defina afectado una vez utilizando un resultado visible para el usuario, no simplemente un error interno correlacionado.
- Una cuenta puede tener varios usuarios o regiones; Elija la unidad de informe antes de emitir filas.
- Restrinja el desglose a nivel de cuenta y utilice el agregado solo para flujos de trabajo de respuesta aprobados.
Panel recomendado
- Barras: affected_accounts por plano
- Tendencia: cuentas recién afectadas y recuperadas
- Tabla restringida: identificadores de cuenta aprobados y tipo de impacto
Guía de alerta
Utilice esta consulta para determinar el alcance y escalar después de la detección de incidentes; no cree una segunda página para cada fila a nivel de cuenta.
Leer configuración de alertaPon la receta a trabajar
Instrumentación y guías relacionadas.
Continuar el análisis
Calcular la tasa de errores de API por ruta
Utilice SQL para clasificar las rutas API según una tasa de error 5xx mientras protege el resultado del ruido de bajo volumen.
Receta abiertaCalcule la latencia API p50, p95 y p99
Compare la latencia media y de cola por punto final con SQL percentil compatible con DataFusion.
Receta abiertaCalcular la tasa de consumo de presupuesto de errores de API
Convierta los errores de solicitud por hora en una serie de tasa de quemado de SLO que muestre qué tan rápido se consume el presupuesto de errores permitido.
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.