Перейти к основному содержимому
Перейти к основному содержимому

system.query_thread_log

Выполнение запросов в ClickHouse Cloud

Данные в этой системной таблице хранятся локально на каждом узле в ClickHouse Cloud. Поэтому для получения полного обзора всех данных требуется функция clusterAllReplicas. Подробности см. здесь.

Описание

Содержит информацию о потоках, которые выполняют запросы, например имя потока, время его запуска, длительность обработки запроса.

Чтобы включить логирование:

  1. Настройте параметры в разделе query_thread_log.
  2. Установите log_query_threads в значение 1.

Период сброса данных задаётся параметром flush_interval_milliseconds в разделе настроек сервера query_thread_log. Для принудительного сброса используйте запрос SYSTEM FLUSH LOGS.

ClickHouse не удаляет данные из таблицы автоматически. См. раздел Введение для получения дополнительной информации.

Вы можете использовать настройку log_queries_probability для уменьшения количества запросов, регистрируемых в таблице query_thread_log.

Столбцы

  • hostname (LowCardinality(String)) — Имя хоста сервера, который выполняет запрос.
  • event_date (Date) — Дата завершения выполнения запроса потоком.
  • event_time (DateTime) — Дата и время завершения выполнения запроса потоком.
  • event_time_microseconds (DateTime64(6)) — Дата и время завершения выполнения запроса потоком с точностью до микросекунд.
  • query_start_time (DateTime) — Время начала выполнения запроса.
  • query_start_time_microseconds (DateTime64(6)) — Время начала выполнения запроса с точностью до микросекунды.
  • query_duration_ms (UInt64) — Время выполнения запроса.
  • read_rows (UInt64) — Количество прочитанных строк.
  • read_bytes (UInt64) — Количество считанных байтов.
  • written_rows (UInt64) — Для запросов INSERT — количество записанных строк. Для других запросов значение столбца равно 0.
  • written_bytes (UInt64) — Для запросов INSERT — количество записанных байт. Для других запросов значение столбца равно 0.
  • memory_usage (Int64) — Разница между объёмом выделенной и освобождённой памяти для этого потока.
  • peak_memory_usage (Int64) — Максимальная разница между объёмом выделенной и освобождённой памяти в рамках этого потока.
  • thread_name (LowCardinality(String)) — имя потока.
  • thread_id (UInt64) — внутренний идентификатор потока.
  • master_thread_id (UInt64) — первоначальный ID первичного потока в OS.
  • current_database (LowCardinality(String)) — имя текущей базы данных.
  • query (String) — Строка запроса.
  • normalized_query_hash (UInt64) — Хеш нормализованного запроса, то есть без констант и т. д.
  • is_initial_query (UInt8) — Тип запроса. Возможные значения: 1 — запрос был инициирован клиентом, 0 — запрос был инициирован другим запросом в рамках выполнения распределённого запроса.
  • connection_address (IPv6) — IP-адрес клиента, с которого установлено соединение. При подключении через прокси это будет IP-адрес прокси.
  • connection_port (UInt16) — Порт клиента, с которого было установлено соединение. При подключении через прокси это будет порт прокси-сервера.
  • user (LowCardinality(String)) — Имя пользователя, инициировавшего текущий запрос.
  • query_id (String) — идентификатор запроса.
  • address (IPv6) — IP-адрес, использованный для выполнения запроса. Если подключение выполняется через прокси и задан параметр auth_use_forwarded_address, здесь будет указан адрес клиента, а не прокси.
  • port (UInt16) — Порт клиента, использованный для выполнения запроса. При подключении через прокси, если задан параметр auth_use_forwarded_address, это будет порт клиента, а не прокси.
  • initial_user (LowCardinality(String)) — Имя пользователя, выполнившего первоначальный запрос (при распределённом выполнении запроса).
  • initial_query_id (String) — идентификатор исходного запроса (для выполнения распределённого запроса).
  • initial_address (IPv6) — IP-адрес, с которого был отправлен родительский запрос.
  • initial_port (UInt16) — Порт клиента, использованный для выполнения родительского запроса.
  • initial_query_start_time (DateTime) — Время начала выполнения первоначального запроса.
  • initial_query_start_time_microseconds (DateTime64(6)) — время начала выполнения исходного запроса
  • authenticated_user (LowCardinality(String)) — Имя пользователя, прошедшего аутентификацию в сеансе.
  • interface (UInt8) — Интерфейс, через который был инициирован запрос. Возможные значения: 1 — TCP, 2 — HTTP.
  • is_secure (UInt8) — Флаг, указывающий, было ли соединение защищённым.
  • os_user (LowCardinality(String)) — имя пользователя OS, под которым запускается clickhouse-client.
  • client_hostname (LowCardinality(String)) — имя хоста клиентской машины, на которой запущен clickhouse-client или другой TCP-клиент.
  • client_name (LowCardinality(String)) — Имя клиента clickhouse-client или другого TCP-клиента.
  • client_revision (UInt32) — Ревизия clickhouse-client или другого TCP-клиента.
  • client_version_major (UInt32) — старшая версия clickhouse-client или другого TCP-клиента.
  • client_version_minor (UInt32) — минорная версия clickhouse-client или другого TCP-клиента.
  • client_version_patch (UInt32) — номер патча версии clickhouse-client или другого TCP-клиента.
  • script_query_number (UInt32) — Последовательный номер запроса в скрипте с несколькими запросами.
  • script_line_number (UInt32) — Номер строки в скрипте с несколькими запросами, с которой начинается текущий запрос.
  • http_method (UInt8) — HTTP-метод, с помощью которого был инициирован запрос. Возможные значения: 0 — запрос был выполнен через TCP-интерфейс, 1 — использовался метод GET., 2 — использовался метод POST.
  • http_user_agent (LowCardinality(String)) — значение заголовка User-Agent, переданное в HTTP-запросе.
  • http_referer (String) — HTTP-заголовок Referer, передаваемый в HTTP-запросе (содержит абсолютный или частичный адрес страницы, с которой отправляется запрос).
  • forwarded_for (String) — HTTP-заголовок X-Forwarded-For, передаваемый с HTTP-запросом.
  • quota_key (String) — 'Ключ квоты', указанный в настройке quotas.
  • distributed_depth (UInt64) — Сколько раз запрос пересылался между серверами.
  • revision (UInt32) — номер ревизии ClickHouse.
  • ProfileEvents (Map(LowCardinality(String), UInt64)) — события ProfileEvents, измеряющие различные метрики для этого потока. Их описание можно найти в таблице system.events.

Псевдонимы:

  • ProfileEvents.Names — псевдоним для mapKeys(ProfileEvents).
  • ProfileEvents.Values — псевдоним для mapValues(ProfileEvents).

Пример

 SELECT * FROM system.query_thread_log LIMIT 1 \G
Row 1:
──────
hostname:                      clickhouse.eu-central1.internal
event_date:                    2020-09-11
event_time:                    2020-09-11 10:08:17
event_time_microseconds:       2020-09-11 10:08:17.134042
query_start_time:              2020-09-11 10:08:17
query_start_time_microseconds: 2020-09-11 10:08:17.063150
query_duration_ms:             70
read_rows:                     0
read_bytes:                    0
written_rows:                  1
written_bytes:                 12
memory_usage:                  4300844
peak_memory_usage:             4300844
thread_name:                   TCPHandler
thread_id:                     638133
master_thread_id:              638133
query:                         INSERT INTO test1 VALUES
is_initial_query:              1
user:                          default
query_id:                      50a320fd-85a8-49b8-8761-98a86bcbacef
address:                       ::ffff:127.0.0.1
port:                          33452
initial_user:                  default
initial_query_id:              50a320fd-85a8-49b8-8761-98a86bcbacef
initial_address:               ::ffff:127.0.0.1
initial_port:                  33452
interface:                     1
os_user:                       bharatnc
client_hostname:               tower
client_name:                   ClickHouse
client_revision:               54437
client_version_major:          20
client_version_minor:          7
client_version_patch:          2
http_method:                   0
http_user_agent:
quota_key:
revision:                      54440
ProfileEvents:        {'Query':1,'SelectQuery':1,'ReadCompressedBytes':36,'CompressedReadBufferBlocks':1,'CompressedReadBufferBytes':10,'IOBufferAllocs':1,'IOBufferAllocBytes':89,'ContextLock':15,'RWLockAcquiredReadLocks':1}

См. также

  • system.query_log — Описание системной таблицы query_log, которая содержит общую информацию о выполнении запросов.
  • system.query_views_log — Эта таблица содержит информацию о каждом представлении, задействованном при выполнении запроса.