본문으로 바로가기
본문으로 바로가기

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는 테이블에서 데이터를 자동으로 삭제하지 않습니다. 자세한 내용은 Introduction을 참조하십시오.

query_thread_log 테이블에 기록되는 쿼리 수를 줄이려면 log_queries_probability 설정을 사용할 수 있습니다.

컬럼

  • 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) — 이 스레드 Context에서 할당된 메모리 사용량과 해제된 메모리 사용량의 차이입니다.
  • peak_memory_usage (Int64) — 이 스레드 컨텍스트에서 할당된 메모리 양과 해제된 메모리 양 사이의 최대 차이입니다.
  • thread_name (LowCardinality(String)) — 스레드 이름입니다.
  • thread_id (UInt64) — 내부 스레드 ID입니다.
  • master_thread_id (UInt64) — 초기 스레드의 OS 초기 ID입니다.
  • current_database (LowCardinality(String)) — 현재 데이터베이스 이름.
  • query (String) — 쿼리 문자열.
  • normalized_query_hash (UInt64) — 상수 등이 제거된 정규화 쿼리의 해시 값입니다.
  • is_initial_query (UInt8) — 쿼리 유형입니다. 가능한 값: 1 — 클라이언트가 시작한 쿼리입니다. 0 — 분산 쿼리 실행을 위해 다른 쿼리가 시작한 쿼리입니다.
  • connection_address (IPv6) — 연결이 설정된 클라이언트의 IP 주소입니다. 프록시를 통해 연결된 경우에는 프록시의 주소가 됩니다.
  • connection_port (UInt16) — 연결이 설정된 클라이언트 포트입니다. 프록시를 통해 연결된 경우 이 값은 프록시의 포트입니다.
  • user (LowCardinality(String)) — 현재 쿼리를 실행한 사용자의 이름입니다.
  • query_id (String) — 쿼리 ID입니다.
  • address (IPv6) — 쿼리를 수행할 때 사용된 IP 주소입니다. 프록시를 통해 연결되고 auth_use_forwarded_address가 설정된 경우, 이 값은 프록시가 아니라 클라이언트의 주소입니다.
  • port (UInt16) — 쿼리를 실행할 때 사용된 클라이언트 포트입니다. 프록시를 통해 연결되었고 auth_use_forwarded_address가 설정된 경우, 이 값은 프록시 포트가 아니라 클라이언트 포트입니다.
  • initial_user (LowCardinality(String)) — 분산 쿼리 실행 시 초기 쿼리를 실행한 사용자의 이름입니다.
  • initial_query_id (String) — 초기 쿼리의 ID(분산 쿼리 실행 시 사용됨).
  • 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)) — clickhouse-client를 실행하는 OS 사용자의 이름.
  • 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 client 버전의 패치 부분입니다.
  • script_query_number (UInt32) — 다중 쿼리 스크립트에서 순차적으로 할당되는 쿼리 번호입니다.
  • script_line_number (UInt32) — 다중 쿼리 스크립트에서 현재 쿼리가 시작되는 줄 번호를 나타냅니다.
  • http_method (UInt8) — 쿼리를 시작한 HTTP 메서드입니다. 가능한 값: 0 — TCP 인터페이스에서 쿼리가 시작되었습니다, 1 — GET 메서드가 사용되었습니다, 2 — POST 메서드가 사용되었습니다.
  • http_user_agent (LowCardinality(String)) — HTTP 요청과 함께 전달되는 UserAgent 헤더입니다.
  • http_referer (String) — HTTP 쿼리로 전달되는 HTTP 헤더 Referer입니다(쿼리를 수행하는 페이지의 절대 주소 또는 부분 주소를 포함합니다).
  • forwarded_for (String) — HTTP 쿼리에서 전달된 HTTP 헤더 X-Forwarded-For입니다.
  • quota_key (String) — 쿼터 설정에 지정된 'quota key'입니다.
  • distributed_depth (UInt64) — 서버 간에 쿼리가 전달된 횟수입니다.
  • revision (UInt32) — ClickHouse 리비전 번호.
  • ProfileEvents (Map(LowCardinality(String), UInt64)) — 이 스레드의 다양한 메트릭을 측정하는 ProfileEvents입니다. 자세한 설명은 system.events 테이블에서 확인할 수 있습니다.

별칭:

  • ProfileEvents.NamesmapKeys(ProfileEvents)의 별칭입니다.
  • ProfileEvents.ValuesmapValues(ProfileEvents)의 별칭입니다.

예시

 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 — 이 테이블에는 쿼리 실행 중에 실행된 각 VIEW에 대한 정보가 포함됩니다.