system.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) — 操作系统线程 ID。master_thread_id(UInt64) — 初始线程在操作系统中的 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 的用户名。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 请求中传递的User-Agent头部。quota_key(String) — 在 quotas 设置中指定的“quota key”(参见keyed)。revision(UInt32) — ClickHouse 修订号。ProfileEvents(Map(String, UInt64)) — 用于衡量该线程各类指标的 ProfileEvents。相关说明可在表 system.events 中查阅。
示例
另请参阅
- system.query_log —
query_log系统表的说明,其中包含关于查询执行的常规信息。 - system.query_views_log — 此表包含关于在查询期间执行的每个视图的信息。