Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

system.processors_profile_log

Описание

Эта таблица содержит данные профилирования на уровне процессоров, которые можно найти в EXPLAIN PIPELINE.

Столбцы

  • hostname (LowCardinality(String)) — Имя хоста сервера, выполняющего запрос.
  • event_date (Date) — Дата, когда произошло событие.
  • event_time (DateTime) — Дата и время, когда произошло событие.
  • event_time_microseconds (DateTime64(6)) — Дата и время события с точностью до микросекунд.
  • id (UInt64) — ID процессора.
  • parent_ids (Array(UInt64)) — ID родительских процессоров.
  • plan_step (UInt64) — ID шага плана запроса, создавшего этот процессор. Значение равно нулю, если процессор не был добавлен ни одним шагом.
  • plan_step_name (String) — Имя шага плана запроса, создавшего этот процессор. Значение пусто, если процессор не был добавлен ни одним шагом.
  • plan_step_description (String) — Описание шага плана запроса, создавшего этот процессор. Значение пусто, если процессор не был добавлен ни одним шагом.
  • plan_group (UInt64) — Группа процессора, если он был создан шагом плана запроса. Группа — это логическое разделение процессоров, добавленных одним и тем же шагом плана запроса. Группа используется только для более наглядного отображения результата EXPLAIN PIPELINE.
  • initial_query_id (String) — ID исходного запроса в той же цепочке запросов.
  • query_id (String) — ID запроса.
  • name (LowCardinality(String)) — Имя процессора.
  • elapsed_us (UInt64) — Количество микросекунд, в течение которых выполнялся этот процессор.
  • input_wait_elapsed_us (UInt64) — Количество микросекунд, в течение которых этот процессор ожидал поступления данных (от другого процессора).
  • output_wait_elapsed_us (UInt64) — Количество микросекунд, в течение которых этот процессор ожидал, поскольку выходной порт был заполнен.
  • input_rows (UInt64) — Количество строк, обработанных процессором.
  • input_bytes (UInt64) — Количество байтов, обработанных процессором.
  • output_rows (UInt64) — Количество строк, сгенерированных процессором.
  • output_bytes (UInt64) — Количество байтов, сгенерированных процессором.
  • processor_uniq_id (String) — Уникальный ID процессора в конвейере.
  • step_uniq_id (String) — Уникальный ID шага в плане.

Пример

Querysql
EXPLAIN PIPELINE
SELECT sleep(1)
Responsetext
┌─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 │
└─────────────────────────┴────────────┴───────────────────────┴────────────────────────┘

Здесь можно увидеть следующее:

  • ExpressionTransform выполнял функцию sleep(1), поэтому его work занимает 1e6, и, следовательно, elapsed_us > 1e6.
  • SourceFromSingleChunk должен ждать, поскольку ExpressionTransform не принимает данные во время выполнения sleep(1), поэтому он будет находиться в состоянии PortFull в течение 1e6 мкс, и, следовательно, output_wait_elapsed_us > 1e6.
  • LimitsCheckingTransform/NullSource/LazyOutputFormat должны ждать, пока ExpressionTransform выполнит sleep(1), чтобы обработать результат, поэтому input_wait_elapsed_us > 1e6.

См. также

Navigation