メインコンテンツへスキップ
メインコンテンツへスキップ

system.trace_log

ClickHouse Cloud でのクエリ実行

このシステムテーブルのデータは、ClickHouse Cloud の各ノードにローカルに格納されています。そのため、すべてのデータを包括的に確認するには、clusterAllReplicas 関数を使用する必要があります。詳細についてはこちらを参照してください。

サンプリングクエリプロファイラによって収集されたスタックトレースを含みます。

ClickHouse は、サーバー設定セクション trace_log が設定されている場合にこのテーブルを作成します。関連する設定も参照してください: query_profiler_real_time_period_nsquery_profiler_cpu_time_period_nsmemory_profiler_stepmemory_profiler_sample_probabilitytrace_profile_events

ログを分析するには、addressToLineaddressToLineWithInlinesaddressToSymboldemangle といったイントロスペクション関数を使用します。

列:

  • hostname (LowCardinality(String)) — クエリを実行しているサーバーのホスト名。

  • event_date (Date) — サンプリング時点の日付。

  • event_time (DateTime) — サンプリング時点のタイムスタンプ。

  • event_time_microseconds (DateTime64) — マイクロ秒精度のサンプリング時点のタイムスタンプ。

  • timestamp_ns (UInt64) — ナノ秒単位のサンプリング時点のタイムスタンプ。

  • revision (UInt32) — ClickHouse サーバービルドのリビジョン。

    clickhouse-client でサーバーに接続すると、Connected to ClickHouse server version 19.18.1. のような文字列が表示されます。このフィールドにはサーバーの version ではなく revision が格納されます。

  • trace_type (Enum8) — トレースの種類:

    • Real はウォールクロック時間に基づくスタックトレース収集を表します。
    • CPU は CPU 時間に基づくスタックトレース収集を表します。
    • Memory はメモリアロケーションが次のウォーターマークを超えたときのアロケーションおよび解放の収集を表します。
    • MemorySample はランダムなアロケーションおよび解放の収集を表します。
    • MemoryPeak はピークメモリ使用量の更新の収集を表します。
    • ProfileEvent はプロファイルイベントのインクリメントの収集を表します。
    • JemallocSample は jemalloc サンプルの収集を表します。
    • MemoryAllocatedWithoutCheck は、任意のメモリ制限を無視して行われる大きなアロケーション (>16MiB) の収集を表します (ClickHouse 開発者専用)。
  • thread_id (UInt64) — スレッド識別子。

  • query_id (String) — query_log システムテーブルから、実行されていたクエリの詳細を取得するために使用できるクエリ識別子。

  • trace (Array(UInt64)) — サンプリング時点のスタックトレース。各要素は ClickHouse サーバープロセス内の仮想メモリアドレスです。

  • size (Int64) - トレースタイプが MemoryMemorySampleMemoryPeak の場合は割り当てられたメモリ量、それ以外のトレースタイプの場合は 0。

  • event (LowCardinality(String)) - トレースタイプが ProfileEvent の場合は更新されたプロファイルイベント名、それ以外のトレースタイプの場合は空文字列。

  • increment (UInt64) - トレースタイプが ProfileEvent の場合はプロファイルイベントのインクリメント量、それ以外のトレースタイプの場合は 0。

  • symbols, (Array(LowCardinality(String))) — シンボル化が有効な場合、trace に対応するデマングル済みシンボル名を含みます。

  • lines, (Array(LowCardinality(String))) — シンボル化が有効な場合、trace に対応するファイル名と行番号を含む文字列を含みます。

シンボル化は、サーバーの設定ファイル内の trace_log 配下の symbolize で有効または無効にできます。

SELECT * FROM system.trace_log LIMIT 1 \G
Row 1:
──────
hostname:                clickhouse.eu-central1.internal
event_date:              2020-09-10
event_time:              2020-09-10 11:23:09
event_time_microseconds: 2020-09-10 11:23:09.872924
timestamp_ns:            1599762189872924510
revision:                54440
trace_type:              Memory
thread_id:               564963
query_id:
trace:                   [371912858,371912789,371798468,371799717,371801313,371790250,624462773,566365041,566440261,566445834,566460071,566459914,566459842,566459580,566459469,566459389,566459341,566455774,371993941,371988245,372158848,372187428,372187309,372187093,372185478,140222123165193,140222122205443]
size:                    5244400