メインコンテンツへスキップ
この章で説明する関数を使用すると、クエリのプロファイリングのために ELFDWARF を調査できます。
これらの関数は低速であり、セキュリティ上の考慮が必要になる場合があります。
イントロスペクション関数を正しく動作させるには:
  • clickhouse-common-static-dbg パッケージをインストールします。
  • allow_introspection_functions 設定を 1 に設定します。 セキュリティ上の理由から、イントロスペクション関数はデフォルトで無効になっています。
ClickHouse はプロファイラレポートを trace_log システムテーブルに保存します。テーブルとプロファイラが正しく設定されていることを確認してください。

addressToLine

導入バージョン: v20.1.0 ClickHouseサーバープロセス内の仮想メモリアドレスを、ClickHouse のソースコード内のファイル名と行番号に変換します。
この関数は低速で、セキュリティ上の考慮が必要になる場合があります。
このイントロスペクション関数を有効にするには: 構文
引数
  • address_of_binary_instruction — 実行中のプロセス内にある命令のアドレス。UInt64
戻り値 コロン区切りのソースコードのファイル名と行番号を返します。たとえば、/build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:199 のようになります。デバッグ情報が見つからない場合はバイナリ名を返し、アドレスが無効な場合は空文字列を返します。String trace_log システムテーブルから最初の文字列を取得する
Query
Response
単一アドレスのソースコードのファイル名と行番号を取得する
Query
Response
スタックトレース全体に関数を適用する
Query
Response

addressToLineWithInlines

導入バージョン: v22.2.0 addressToLine に似ていますが、すべてのインライン関数を含む Array を返します。 このため、addressToLine より低速です。 このイントロスペクション関数を有効にするには:
  • clickhouse-common-static-dbg パッケージをインストールします。
  • 設定 allow_introspection_functions の値を 1 に設定します。
構文
引数
  • address_of_binary_instruction — 実行中のプロセス内の命令のアドレス。UInt64
戻り値 最初の要素が、コロンで区切られたソースコードのファイル名と行番号である配列を返します。2 番目、3 番目以降の要素には、インライン関数のソースコードのファイル名、行番号、および関数名が含まれます。デバッグ情報が見つからなかった場合は、バイナリ名のみを要素に持つ配列が返されます。アドレスが無効な場合は、空の配列が返されます。Array(String) アドレスに関数を適用する
Query
Response
スタックトレース全体に関数を適用する
Query
Response

addressToSymbol

導入バージョン: v20.1.0 ClickHouseサーバープロセス内の仮想メモリアドレスを、ClickHouseのオブジェクトファイル内のシンボルに変換します。 構文
引数
  • address_of_binary_instruction — 実行中のプロセス内の命令のアドレス。UInt64
戻り値 ClickHouse のオブジェクトファイル内のシンボルを返します。アドレスが無効な場合は空文字列を返します。String trace_log システムテーブルから最初の文字列を取得する
Query
Response
単一アドレスに対応するシンボルを取得する
Query
Response
スタックトレース全体に関数を適用する
Query
Response

demangle

導入バージョン: v20.1.0 シンボルを C++ の関数名に変換します。 このシンボルは通常、関数 addressToSymbol が返します。 構文
引数
  • symbol — オブジェクトファイルのシンボル。String
戻り値 C++ 関数名を返します。シンボルが無効な場合は空文字列を返します。String trace_log システムテーブルから最初の文字列を取得する
Query
Response
単一アドレスの関数名を取得する
Query
Response
スタックトレース全体に関数を適用する
Query
Response

isMergeTreePartCoveredBy

導入バージョン: v25.6.0 第1引数のパーツが第2引数のパーツに包含されているかどうかを確認する関数です。 構文
引数
  • nested_part — 想定されるネストされたパーツの名前。String
  • covering_part — 惡定されるカバリングパーツの名前。String
戻り値 カバーしている場合は 1、そうでない場合は 0 を返します。UInt8 基本的な例
Query
Response

logTrace

導入バージョン: v20.12.0 Blockについて、サーバーログにトレースログメッセージを出力します。 構文
引数
  • message — サーバーログに出力されるメッセージ。const String
戻り値 常に 0 を返します。UInt8 基本例
Query
Response

mergeTreePartInfo

導入バージョン: v25.6.0 MergeTree のパーツ名から有用な値を取り出すのに役立つ関数です。 構文
引数
  • part_name — 展開するパーツの名前。String
戻り値 partition_idmin_blockmax_blocklevelmutation の各サブカラムを持つ Tuple を返します。Tuple 基本例
Query
Response

tid

導入バージョン: v20.12.0 現在のBlockを処理しているスレッドのIDを返します。 構文
引数
  • なし。
戻り値 現在のスレッド ID を返します。UInt64 使用例
Query
Response
最終更新日 2026年7月2日