query_thread_log
在 ClickHouse Cloud 中查询
此系统表中的数据本地保存在 ClickHouse Cloud 的每个节点上。 因此,要获得所有数据的完整视图,需要使用 clusterAllReplicas 函数。 有关更多详细信息,请参阅此处。
包含有关执行查询的线程的信息,例如线程名称、线程启动时间、查询处理持续时间。
要开始记录日志
- 在 query_thread_log 部分配置参数。
- 将 log_query_threads 设置为 1。
数据刷新周期在 query_thread_log 服务器设置部分的 flush_interval_milliseconds 参数中设置。 要强制刷新,请使用 SYSTEM FLUSH LOGS 查询。
ClickHouse 不会自动删除表中的数据。 有关更多详细信息,请参阅简介。
您可以使用 log_queries_probability 设置来减少 query_thread_log 表中注册的查询数量。
列
hostname(LowCardinality(String)) — 执行查询的服务器的主机名。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) — OS 线程 ID。master_thread_id(UInt64) — 初始线程的 OS 初始 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) — 运行 clickhouse-client 的 OS 用户名。client_hostname(String) — 运行 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)) — 用于衡量此线程不同指标的 ProfileEvents。 它们的描述可以在 system.events 表中找到。
示例
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 — 此表包含有关查询期间执行的每个视图的信息。