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) — このスレッドのコンテキストにおける、確保されたメモリ量と解放されたメモリ量の差です。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)) — OS 上でclickhouse-clientを実行するユーザー名。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 クライアントのバージョンのパッチ番号。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クエリに含まれるX-Forwarded-ForHTTPヘッダー。quota_key(String) —quotas設定で指定された「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 — クエリ中に実行された各ビューに関する情報を含むシステムテーブル。