メインコンテンツまでスキップ
メインコンテンツまでスキップ

system.trace_log

ClickHouse Cloud におけるクエリ

このシステムテーブルのデータは、ClickHouse Cloud の各ノードにローカルに保持されています。したがって、すべてのデータの完全なビューを取得するには、clusterAllReplicas 関数が必要です。詳細については こちら を参照してください。

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

ClickHouseは、trace_logサーバー設定セクションが設定されると、このテーブルを作成します。また、次の設定も参照してください: query_profiler_real_time_period_ns, query_profiler_cpu_time_period_ns, memory_profiler_step, memory_profiler_sample_probability, trace_profile_events

ログを分析するには、addressToLineaddressToLineWithInlinesaddressToSymbol、およびdemangleイントロスペクション関数を使用します。

カラム:

  • 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.に似た文字列が表示されます。このフィールドにはサーバーのrevisionが含まれていますが、versionは含まれていません。

  • 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) - トレースタイプがMemoryMemorySample、またはMemoryPeakの場合は割り当てられたメモリの量であり、他のトレースタイプの場合は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