Saltar al contenido principal
Consultas en ClickHouse CloudLos datos de esta tabla del sistema se almacenan localmente en cada nodo de ClickHouse Cloud. Por lo tanto, para obtener una vista completa de todos los datos, es necesario usar la función clusterAllReplicas. Consulta aquí para más detalles.

Descripción

Esta tabla contiene datos de perfilado a nivel de procesadores (que puede encontrar en EXPLAIN PIPELINE).

Columnas

  • hostname (LowCardinality(String)) — Hostname del servidor que ejecuta la consulta.
  • event_date (Date) — La fecha en la que ocurrió el evento.
  • event_time (DateTime) — La fecha y hora en la que ocurrió el evento.
  • event_time_microseconds (DateTime64(6)) — La fecha y hora, con precisión de microsegundos, en la que ocurrió el evento.
  • id (UInt64) — ID del procesador.
  • parent_ids (Array(UInt64)) — IDs de los procesadores padre.
  • plan_step (UInt64) — ID del paso del plan de consulta que creó este procesador. El valor es cero si el procesador no se añadió a partir de ningún paso.
  • plan_step_name (String) — Nombre del paso del plan de consulta que creó este procesador. El valor está vacío si el procesador no se añadió a partir de ningún paso.
  • plan_step_description (String) — Descripción del paso del plan de consulta que creó este procesador. El valor está vacío si el procesador no se añadió a partir de ningún paso.
  • plan_group (UInt64) — Grupo del procesador si fue creado por un paso del plan de consulta. Un grupo es una partición lógica de los procesadores añadidos desde el mismo paso del plan de consulta. El grupo se usa solo para mejorar la presentación del resultado de EXPLAIN PIPELINE.
  • initial_query_id (String) — ID de la consulta inicial (para la ejecución distribuida de consultas).
  • query_id (String) — ID de la consulta.
  • name (LowCardinality(String)) — Nombre del procesador.
  • elapsed_us (UInt64) — Número de microsegundos durante los que se ejecutó este procesador.
  • input_wait_elapsed_us (UInt64) — Número de microsegundos que este procesador estuvo esperando datos (de otro procesador).
  • output_wait_elapsed_us (UInt64) — Número de microsegundos que este procesador estuvo esperando porque el puerto de salida estaba lleno.
  • input_rows (UInt64) — Número de filas consumidas por el procesador.
  • input_bytes (UInt64) — Número de bytes consumidos por el procesador.
  • output_rows (UInt64) — Número de filas generadas por el procesador.
  • output_bytes (UInt64) — Número de bytes generados por el procesador.
  • processor_uniq_id (String) — ID único del procesador en el pipeline.
  • step_uniq_id (String) — ID único del paso en el plan.

Ejemplo

Query
EXPLAIN PIPELINE
SELECT sleep(1)
┌─explain─────────────────────────┐
│ (Expression)                    │
│ ExpressionTransform             │
│   (SettingQuotaAndLimits)       │
│     (ReadFromStorage)           │
│     SourceFromSingleChunk 01
└─────────────────────────────────┘

SELECT sleep(1)
SETTINGS log_processors_profiles = 1
Query id: feb5ed16-1c24-4227-aa54-78c02b3b27d4
┌─sleep(1)─┐
0
└──────────┘
1 rows in set. Elapsed: 1.018 sec.

SELECT
    name,
    elapsed_us,
    input_wait_elapsed_us,
    output_wait_elapsed_us
FROM system.processors_profile_log
WHERE query_id = 'feb5ed16-1c24-4227-aa54-78c02b3b27d4'
ORDER BY name ASC
Response
┌─name────────────────────┬─elapsed_us─┬─input_wait_elapsed_us─┬─output_wait_elapsed_us─┐
│ ExpressionTransform     │    1000497 │                  2823 │                    197 │
│ LazyOutputFormat        │         36 │               1002188 │                      0 │
│ LimitsCheckingTransform │         10 │               1002994 │                    106 │
│ NullSource              │          5 │               1002074 │                      0 │
│ NullSource              │          1 │               1002084 │                      0 │
│ SourceFromSingleChunk   │         45 │                  4736 │                1000819 │
└─────────────────────────┴────────────┴───────────────────────┴────────────────────────┘
Aquí puedes ver:
  • ExpressionTransform estaba ejecutando la función sleep(1), por lo que su work tardará 1e6 y, por tanto, elapsed_us > 1e6.
  • SourceFromSingleChunk necesita esperar porque ExpressionTransform no acepta ningún dato durante la ejecución de sleep(1), por lo que permanecerá en estado PortFull durante 1e6 us y, por tanto, output_wait_elapsed_us > 1e6.
  • LimitsCheckingTransform/NullSource/LazyOutputFormat necesitan esperar hasta que ExpressionTransform ejecute sleep(1) para procesar el resultado, por lo que input_wait_elapsed_us > 1e6.

Véase también

Última modificación el 10 de junio de 2026