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

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

ログを分析するには、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 は、プロファイルイベントのインクリメントを収集します。
  • 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で有効または無効にできます。