system.query_thread_log
Данные в этой системной таблице хранятся локально на каждом узле в ClickHouse Cloud. Поэтому для получения полного обзора всех данных требуется функция clusterAllReplicas. Подробности см. здесь.
Описание
Содержит информацию о потоках, которые выполняют запросы, например имя потока, время его запуска, длительность обработки запроса.
Чтобы включить логирование:
- Настройте параметры в разделе query_thread_log.
- Установите 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).
Пример
См. также
- system.query_log — Описание системной таблицы
query_log, которая содержит общую информацию о выполнении запросов. - system.query_views_log — Эта таблица содержит информацию о каждом представлении, задействованном при выполнении запроса.