Перейти к основному содержанию
Вы можете использовать функции, описанные в этой главе, для интроспекции ELF и DWARF при профилировании запросов.
Эти функции работают медленно и могут создавать риски для безопасности.
Для корректной работы функций интроспекции:
  • Установите пакет clickhouse-common-static-dbg.
  • Установите значение настройки allow_introspection_functions равным 1. По соображениям безопасности функции интроспекции по умолчанию отключены.
ClickHouse сохраняет отчёты профилировщика в системную таблицу trace_log. Убедитесь, что таблица и профилировщик настроены правильно.

addressToLine

Добавленный в: v20.1.0 Преобразует виртуальный адрес памяти в процессе сервера ClickHouse в имя файла и номер строки в исходном коде ClickHouse.
Эта функция работает медленно и может иметь последствия для безопасности.
Чтобы включить эту функцию интроспекции:
  • Установите пакет clickhouse-common-static-dbg.
  • Установите значение настройки allow_introspection_functions равным 1.
Синтаксис
Аргументы
  • 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.
  • Установите значение 1 для настройки allow_introspection_functions.
Синтаксис
Аргументы
  • address_of_binary_instruction — Адрес инструкции в выполняющемся процессе. UInt64
Возвращаемое значение Возвращает массив, первый элемент которого содержит имя файла исходного кода и номер строки, разделённые двоеточием. Второй, третий и последующие элементы содержат имена файлов исходного кода, номера строк и имена встроенных inline-функций. Если отладочную информацию найти не удалось, возвращается массив с единственным элементом — именем бинарного файла; если адрес недопустим, возвращается пустой массив. 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 Функция, которая проверяет, покрывается ли часть из первого аргумента частью из второго аргумента. Синтаксис
Аргументы
  • nested_part — Имя ожидаемой вложенной части. String
  • covering_part — Имя ожидаемой охватывающей части. String
Возвращаемое значение Возвращает 1, если часть охватывает другую, иначе 0. UInt8 Примеры Базовый пример
Query
Response

logTrace

Добавленный в: v20.12.0 Выводит в журнал сервера сообщение трассировки для каждого блока. Синтаксис
Аргументы
  • message — Сообщение, которое выводится в журнал сервера. const String
Возвращаемое значение Всегда возвращает 0. UInt8 Примеры Базовый пример
Query
Response

mergeTreePartInfo

Добавленный в: v25.6.0 Функция, которая помогает извлекать полезные значения из имени части MergeTree. Синтаксис
Аргументы
  • part_name — Имя части, которую нужно распаковать. String
Возвращаемое значение Возвращает Tuple со следующими подстолбцами: partition_id, min_block, max_block, level, mutation. Tuple Примеры Базовый пример
Query
Response

tid

Добавленный в: v20.12.0 Возвращает идентификатор потока, в котором обрабатывается текущий блок. Синтаксис
Аргументы
  • Отсутствуют.
Возвращаемое значение Возвращает идентификатор текущего потока. UInt64 Примеры Пример использования
Query
Response
Последнее изменение 2 июля 2026 г.