Por Performate
Explicar p95 y errores a leadership: resúmenes de IA que respetan las métricas
Resúmenes de pruebas de carga para ejecutivos: estructura de una página, números obligatorios y redacción con IA que no suaviza fallos ni oculta errores.
Un resumen de informe de rendimiento con IA para dirección debe caber en una página y resistir cinco preguntas en el pasillo. La IA ayuda con tono y orden; tú aportas números inamovibles—p95, p99, tasa de error, parámetros de escenario—y prohíbes eufemismos que convierten un umbral rojo en “algo de variabilidad”.
En esta guía verás una plantilla de una página que sí leen los ejecutivos, cómo promptear la IA sin suavizar fallos y qué tags k6 deben aparecer para que el resumen hable de journeys de cliente—not de promedios globales anónimos.
Por qué los resúmenes genéricos de IA fallan en comités
A dirección no le falta otro párrafo sobre “complejidad de sistemas distribuidos”. Necesita decisiones: publicar, frenar o financiar capacidad. Los resúmenes genéricos fallan cuando:
- Ocultan
http_req_faileddetrás de promedios de latencia dominados por health checks rápidos. - Citan percentiles sin contexto de muestra—
p99de un smoke de 90 segundos es ruido (p95 vs p99 latencia). - Omiten parámetros de escenario (tasa, duración, entorno) y dos corridas se comparan mal.
- Usan voz pasiva (“se observó latencia”) en lugar de “
p99de checkout superó el SLO 240 ms con 50 req/s en staging”.
La IA rinde cuando traduce tags a historias de usuario—después de fijar números. Trátala como editora, no estadística: no debe inventar métricas ni redondear fallos.
El bloque de números no negociable
Cada resumen ejecutivo debe abrir con cuatro líneas escritas o copiadas del output k6:
- Entorno + fecha + git SHA
- Forma del escenario (executor, rate, duration, max VUs)
- Tasa de
http_req_faileden el journey que importa p95yp99en rutas etiquetadas—not promedios globales si checkout es el 10% del tráfico
Enlaza el anexo a cómo leer reportes de pruebas de carga; mantén la página única orientada a decisión.
Implementación práctica en k6: tags que sobreviven al resumen ejecutivo
Estructura k6 para que los exports mapeen a lenguaje de negocio. El script ilustrativo etiqueta journeys e incluye estadísticas de tendencia listas para pegar en prompts—sin que el modelo recalcule percentiles.
Ejemplo de script (ilustrativo—no listo para producción)
Qué demuestra este ejemplo:
- Tags de journey (
journey:checkout) para que las slides nombren flujos. - Umbrales en rutas etiquetadas alineados al deck de SLO.
- Checks explícitos para regresiones funcionales junto a SLO de latencia.
summaryTrendStatscon percentiles que citarás literalmente en el brief.
import http from 'k6/http';
import { check, sleep } from 'k6';
const BASE = __ENV.API_BASE || 'https://staging.example.com';
export const options = {
scenarios: {
exec_brief_source: {
executor: 'constant-arrival-rate',
rate: Number(__ENV.PEAK_RPS || 40),
timeUnit: '1s',
duration: '5m',
preAllocatedVUs: 30,
maxVUs: 120,
tags: { journey: 'checkout', audience: 'leadership_brief' },
},
},
summaryTrendStats: ['avg', 'p(95)', 'p(99)', 'max'],
thresholds: {
'http_req_duration{journey:checkout}': ['p(95)<800', 'p(99)<1200'],
http_req_failed: ['rate<0.01'],
},
};
export default function () {
const res = http.post(
`${BASE}/api/checkout`,
JSON.stringify({ sku: 'SKU-100', qty: 1 }),
{
headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${__ENV.TOKEN}` },
tags: { journey: 'checkout' },
}
);
check(res, {
'checkout 2xx': (r) => r.status >= 200 && r.status < 300,
});
sleep(0.4);
}
Patrones que funcionan
- Prompt con esquema fijo: Decisión → Evidencia (números) → Riesgo → Pedido—nunca al revés.
- Prohibir adjetivos sin números (“significativo” → “
p991,4 s vs SLO 1,1 s”). - Combinar con historia de throughput cuando confunden RPS y latencia (throughput vs latencia para stakeholders).
- Adjuntar JSON de escenario al anexo para auditoría.
Antipatrones a evitar
- Pedir a la IA que “suene positivo” antes del tren de release.
- Mostrar solo checks verdes con umbrales fallidos.
- Promediar marketing y checkout en una sola línea
p95.
Pro tip (comando de ejemplo):
k6 run exec-brief-source.js --summary-export=brief-source.json --summary-trend-stats="p(95),p(99)"
Qué demuestra este comando: el JSON export es la única fuente de verdad que la IA puede parafrasear—not reemplazar—en el brief de una página.
Marco de decisión: narrativa IA vs brief solo humano
| Situación | Acción recomendada |
|---|---|
| Umbral rojo en checkout | Humano escribe Decisión=Frenar; IA solo afina redacción |
| Corrida verde, dirección pide estado | IA redacta Evidencia/Riesgo desde números fijados |
| Varias rutas en una corrida | Separar métricas etiquetadas; prohibir promedios globales en el prompt |
| Comunicación regulada al cliente | Solo humano; IA opcional para pulir tono interno |
| Revisión mensual recurrente | Plantilla + JSON archivado; IA varía prosa no estadísticas |
Usa narrativa con IA si los números se copian literalmente del export k6 y un humano aprueba la línea de Decisión.
Usa brief solo humano si fallaron umbrales o hay mensaje al cliente.
Usa informes integrados si la app de escritorio ya renderiza comparaciones por journey—exportar y luego resumir (análisis pruebas de carga Gemini).
Observabilidad, documentación y próximos pasos
La confianza ejecutiva se erosiona cuando los números del mes siguiente no son comparables:
- Guardar
brief-source.jsoncon git SHA y parámetros de escenario. - Exigir tags de journey en cualquier ruta citada en slides.
- Documentar duración/iteraciones mínimas al citar
p99. - Registrar quién aprobó Decisión=Publicar con umbrales amarillos en rutas no críticas.
- Enlazar anexo a errores comunes en pruebas de carga si cuestionan la metodología.
Cómo Performate simplifica resúmenes listos para stakeholders
Ejemplo: de corrida k6 a brief de una página que dirección leerá
- Correr el escenario de checkout etiquetado en la app con
journey:checkoutvisible en el informe. Problema resuelto: métricas alineadas al lenguaje de producto antes de ver la IA. - Exportar JSON de resumen desde el informe integrado—los mismos percentiles que citarás. Problema resuelto: sin reescribir a mano ni redondear de más.
- Pegar el bloque de números en asistencia IA con esquema fijo (Decisión, Evidencia, Riesgo, Pedido). Problema resuelto: la IA ordena prosa, no estadísticas.
- Usar vista de comparación contra la corrida archivada del release anterior. Problema resuelto: afirmaciones mejor/peor contra baseline guardado.
- Humano edita la línea de Decisión—Publicar/Frenar/Financiar—y bloquea PDF o slide. Problema resuelto: la responsabilidad sigue en ingeniería.
- Adjuntar parámetros de escenario y export al anexo para auditoría. Problema resuelto: las cinco preguntas del pasillo tienen respuesta en un zip.
Cierre
Los resúmenes de rendimiento con IA funcionan cuando los números son sagrados y la prosa es prescindible. Etiqueta journeys, exporta JSON, prohíbe suavizar umbrales fallidos y deja que dirección decida desde cuatro líneas fijadas—not desde adjetivos.
Antes del próximo comité, redacta tú la línea de Decisión y pide a la IA que haga legible la Evidencia—nunca al revés.
¿Listo para optimizar el rendimiento de tu API?
Usa el flujo de escritorio de Performate: imports, corridas k6 y análisis asistido por IA según tu plan, para publicar más rápido sin saltarte la validación.