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는 테이블에서 데이터를 자동으로 삭제하지 않습니다. 자세한 내용은 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.Names—mapKeys(ProfileEvents)의 별칭입니다.ProfileEvents.Values—mapValues(ProfileEvents)의 별칭입니다.
예시
참고 항목
- system.query_log — 쿼리 실행에 대한 일반적인 정보를 포함하는
query_log시스템 테이블에 대한 설명입니다. - system.query_views_log — 이 테이블에는 쿼리 실행 중에 실행된 각 VIEW에 대한 정보가 포함됩니다.