跳到主要内容
跳到主要内容

system.query_thread_log

在 ClickHouse Cloud 中进行查询

该系统表中的数据保存在 ClickHouse Cloud 中每个节点的本地。因此,如需获得所有数据的完整视图,需要使用 clusterAllReplicas 函数。更多详情请参阅此处

包含执行查询的线程信息,例如线程名称、线程开始时间、查询处理持续时间等。

要开始记录日志:

  1. query_thread_log 部分配置相关参数。
  2. 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 中查阅。

示例

 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_logquery_log 系统表的说明,其中包含关于查询执行的常规信息。
  • system.query_views_log — 此表包含关于在查询期间执行的每个视图的信息。