PromQL Explainer · Observabilidad
Entiende cualquier consulta de PromQL.
Pega una consulta de PromQL y obtén un desglose en lenguaje claro de cada cláusula —selectores, rangos, rate, agregaciones y comparaciones— gratis, enteramente en tu navegador, sin registro.
Playground del PromQL Explainer
Tip: press Esc to release focus.
Load an example or paste your own PromQL query, then explain it to see a plain-English summary and a token-by-token breakdown here.
La brecha
PromQL se escribe una vez y no se vuelve a leer.
Una alerta de PromQL es fácil de escribir y difícil de releer. Seis meses después —o en el pull request de un compañero— una línea como sum by (job) (rate(...[5m])) / sum by (job) (rate(...[5m])) > 0.05 requiere un esfuerzo real para descifrarla: ¿qué ventana, qué etiquetas, qué umbral, y por qué una proporción siquiera?
El explainer convierte ese trabajo en un vistazo. Analiza la expresión y narra cada cláusula —el selector y sus emparejadores, el rango, el rate, la agrupación sum by, y la comparación final— para que un revisor, un ingeniero de guardia o cualquiera que intente entender la expresión de una regla de alerta de Prometheus pueda leer la intención sin reconstruir la consulta en su cabeza.
¿Nuevo en la sintaxis? Echa un vistazo a la sintaxis que decodificamos o prueba el playground en vivo de arriba.
El pipeline
Cómo funciona.
Cuatro pasos deterministas se ejecutan de principio a fin con cada pulsación de Explicar, todos dentro de la pestaña de tu navegador, siempre.
-
Analiza la consulta.
Tu expresión PromQL se analiza en un árbol de sintaxis —selectores, rangos, llamadas a funciones, agregaciones y operadores binarios— con la misma forma que lee Prometheus.
-
Nombra cada cláusula.
Cada nodo se etiqueta por su rol: la métrica y sus emparejadores de etiquetas, cualquier vector de rango y offset, el rate o la agregación que lo envuelve, y la comparación.
-
Traduce a lenguaje claro.
Cada cláusula nombrada se convierte en una frase breve y legible que describe lo que selecciona, calcula o afirma, sin dejar jerga sin definir.
-
Muestra el desglose.
Las cláusulas anotadas se unen en un único resumen en lenguaje claro más una lista parte por parte, para que puedas leer la consulta de arriba abajo o cláusula a cláusula.
La sintaxis
Qué decodifica.
El explainer lee PromQL estándar. Si alguna vez has escrito una consulta de alerta o de panel de Prometheus, estos ejemplos te resultarán familiares: pega cualquiera de ellos en el playground para ver el desglose completo.
Una proporción de alerta
Una alerta clásica de tasa de error: un emparejador de regex =~ sobre status, un rango 5m, un rate, dos agregaciones sum by (job) divididas en una proporción, y un umbral > 0.05. El explainer nombra cada uno.
sum by (job) (
rate(http_requests_total{status=~"5.."}[5m])
)
/
sum by (job) (
rate(http_requests_total[5m])
) > 0.05 Un cuantil de latencia
Una consulta de latencia p99: histogram_quantile sobre un sum by (le) de los rates de buckets. El explainer destaca el cuantil 0.99, la agrupación le que hace funcionar el histograma, y la ventana de rango.
histogram_quantile(
0.99,
sum by (le) (
rate(http_request_duration_seconds_bucket[5m])
)
) Para la gramática formal, consulta los fundamentos de consulta y la referencia de funciones de Prometheus.
Una nota sobre el alcance
El explainer describe lo que significa una consulta, no lo que devuelve: nunca se conecta a un servidor de Prometheus y no evalúa ningún dato. Cubre los patrones comunes de alertas y paneles —selectores y emparejadores, rangos y offsets, rate / increase, los operadores de agregación, histogram_quantile y compañía, y comparaciones binarias. Las subconsultas profundamente anidadas pueden resumirse en lugar de descomponerse por completo. Considera la salida como una lectura fiel de la expresión, no un sustituto de la documentación oficial.
FAQ
Tus preguntas, respondidas.
Toca una pregunta para desplegar la respuesta.
¿Qué es el PromQL Explainer?
El PromQL Explainer es una herramienta gratuita, que funciona en el navegador, que toma una consulta PromQL de Prometheus y la descompone en una explicación en lenguaje claro. Recorre cada parte de la expresión —el selector de métrica y sus emparejadores de etiquetas, cualquier rango u offset, el rate o la agregación que lo envuelve, y la comparación de umbral al final— para que puedas leer lo que una consulta hace realmente sin analizarla mentalmente.
¿Mi consulta sale alguna vez de mi navegador?
No. El explainer se ejecuta 100% en el lado del cliente. Tu consulta se analiza y se explica dentro de la pestaña de tu navegador: nada se sube a un servidor, y no hay cuenta ni registro. Puedes pegar con seguridad consultas que hagan referencia a nombres internos de métricas o etiquetas.
¿Qué funciones de PromQL entiende?
El explainer cubre los patrones que encuentras con más frecuencia en alertas y paneles: selectores de vectores instantáneos y de rango con emparejadores de etiquetas (=, !=, =~, !~), duraciones de rango y offsets, rate / irate / increase, los operadores de agregación (sum, avg, max, min, count y compañía) con agrupación by / without, funciones comunes como histogram_quantile y clamp, y comparaciones binarias contra un umbral. Las subconsultas exóticas o profundamente anidadas pueden resumirse en lugar de descomponerse por completo.
¿En qué se diferencia esto de ejecutar la consulta en Prometheus?
Prometheus te dice el resultado de una consulta; el explainer te dice su significado. No se conecta a un servidor de Prometheus ni devuelve datos de series temporales: lee la propia expresión y describe su intención. Eso lo hace útil para revisar la regla de alerta de un compañero, aprender PromQL o comprobar la cordura de una consulta antes de publicarla.
¿Puedo usarlo para aprender PromQL?
Sí. Como cada cláusula se nombra y describe, el explainer también sirve como apoyo didáctico: pega un ejemplo de un runbook o un panel y lee de qué selector, rango, agregación y comparación está construido exactamente. Combínalo con la documentación oficial de consultas de Prometheus para la gramática formal.
¿El PromQL Explainer está afiliado a Prometheus?
No. Es una herramienta independiente y comunitaria, y no está afiliada ni respaldada por el proyecto Prometheus ni por la Cloud Native Computing Foundation. Prometheus es una marca registrada de The Linux Foundation. La herramienta modela la sintaxis de PromQL por familiaridad y usa el nombre del proveedor solo para describir lo que explica.
¿Qué significa la función rate() en una consulta de PromQL?
rate() calcula la tasa media de incremento por segundo de un contador a lo largo de la ventana de rango; por ejemplo, rate(http_requests_total[5m]) promedia el incremento por segundo durante los cinco minutos completos. Suaviza los picos y es la opción estándar para métricas de contador y reglas de alerta. El explainer identifica rate() y nombra la duración del rango para que puedas leer la ventana de un vistazo.
¿Cuál es la diferencia entre rate() e irate() en PromQL?
rate() promedia el incremento por segundo a lo largo de todo el vector de rango, produciendo valores estables que se adaptan a las alertas y a los contadores de movimiento lento. irate() usa solo las dos últimas muestras de la ventana, lo que lo hace más reactivo pero más ruidoso: lo mejor es reservarlo para graficar contadores de movimiento rápido donde quieras ver picos breves. El explainer etiqueta el que aparezca en tu consulta y describe su comportamiento.
¿Qué significa [5m] en una consulta de PromQL?
Los corchetes con una duración definen un vector de rango: le indican a PromQL que devuelva todas las muestras de cada serie coincidente durante esa ventana de retrospección. [5m] significa los últimos cinco minutos de datos. Funciones como rate(), increase() y avg_over_time() requieren un vector de rango como entrada, así que los corchetes son lo que hace que esas funciones funcionen.
¿Cómo leo los emparejadores de etiquetas de PromQL como {job="api", status!="200"}?
Las llaves contienen una lista separada por comas de emparejadores de etiquetas que filtran qué series temporales se seleccionan. El operador = coincide con un valor exacto, != lo excluye, =~ coincide por expresión regular y !~ excluye por expresión regular. Así que {job="api", status!="200"} selecciona las series del job api descartando cualquiera con un estado HTTP 200. El explainer nombra cada emparejador y su operador en lenguaje claro.
Más herramientas de observabilidad gratuitas y privadas.
El PromQL Explainer forma parte del clúster de observabilidad de OpsCanopy — traduce consultas con el Helper LogQL ↔ PromQL, o haz pruebas unitarias de tus reglas de Loki con AlertLint. Cada uno se ejecuta enteramente en tu navegador y nunca toca un servidor.
Más en Observabilidad
¿Empiezas con Kubernetes? Lee la guía de Kubernetes →
29 herramientas gratuitas, todas pueden funcionar sin conexión — opscanopy.com funciona sin registro y sin subir nada.
¿Trabajas también en Loki? Combínalo con AlertLint, o explora el directorio completo de herramientas.
No está afiliado ni respaldado por el proyecto Prometheus ni por la Cloud Native Computing Foundation. Prometheus es una marca registrada de The Linux Foundation.