system.query_thread_log
Содержит информацию о потоках, которые выполняют запросы, например, имя потока, время его запуска, продолжительность обработки запроса.
Чтобы начать логирование:
- Настройте параметры query_thread_log в конфигурации сервера.
- Установите значение log_query_threads равным 1.
Интервал сброса данных в таблицу задаётся параметром flush_interval_milliseconds в разделе настроек сервера query_thread_log. Чтобы принудительно записать логи из буфера памяти в таблицу, используйте запрос SYSTEM FLUSH LOGS.
ClickHouse не удаляет данные из таблицы автоматически. Подробности в разделе Введение.
Чтобы уменьшить количество запросов, регистрирующихся в таблице query_thread_log, вы можете использовать настройку log_queries_probability.
Столбцы:
event_date(Date) — дата завершения выполнения запроса потоком.event_time(DateTime) — дата и время завершения выполнения запроса потоком.event_time_microseconds(DateTime) — дата и время завершения выполнения запроса потоком с точностью до микросекунд.query_start_time(DateTime) — время начала обработки запроса.query_start_time_microseconds(DateTime64) — время начала обработки запроса с точностью до микросекунд.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(String) — имя потока.thread_id(UInt64) — tid (ID потока операционной системы).master_thread_id(UInt64) — tid (ID потока операционной системы) главного потока.query(String) — текст запроса.is_initial_query(UInt8) — вид запроса. Возможные значения:- 1 — запрос был инициирован клиентом.
- 0 — запрос был инициирован другим запросом при распределенном запросе.
user(String) — пользователь, запустивший текущий запрос.query_id(String) — ID запроса.address(IPv6) — IP адрес, с которого пришел запрос.port(UInt16) — порт, с которого пришел запрос.initial_user(String) — пользователь, запустивший первоначальный запрос (для распределенных запросов).initial_query_id(String) — ID родительского запроса.initial_address(IPv6) — IP адрес, с которого пришел родительский запрос.initial_port(UInt16) — порт, пришел родительский запрос.interface(UInt8) — интерфейс, с которого ушёл запрос. Возможные значения:- 1 — TCP.
- 2 — HTTP.
os_user(String) — имя пользователя в OS, который запустил clickhouse-client.client_hostname(String) — hostname клиентской машины, с которой присоединился clickhouse-client или другой TCP клиент.client_name(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 клиента.http_method(UInt8) — HTTP метод, инициировавший запрос. Возможные значения:- 0 — запрос запущен с интерфейса TCP.
- 1 —
GET. - 2 —
POST.
http_user_agent(String) — HTTP заголовокUserAgent.quota_key(String) — «ключ квоты» из настроек квот (см.keyed).revision(UInt32) — ревизия ClickHouse.ProfileEvents(Map(String, UInt64)) — счетчики для изменения различных метрик для данного потока. Описание метрик можно получить из таблицы system.events.
Пример
Смотрите также
- system.query_log — описание системной таблицы
query_log, которая содержит общую информацию о выполненных запросах. - system.query_views_log — описание системной таблицы
query_views_log, которая содержит информацию о всех представлениях, участвующих в выполненных запросах.