system.trace_log
Содержит экземпляры трассировки стека адресов вызова, собранные с помощью семплирующего профайлера запросов.
ClickHouse создает эту таблицу когда установлена настройка trace_log в конфигурационном файле сервера. А также настройки query_profiler_real_time_period_ns и query_profiler_cpu_time_period_ns.
Для анализа stack traces, используйте функции интроспекции addressToLine, addressToSymbol и demangle.
Столбцы:
-
event_date(Date) — дата в момент снятия экземпляра стэка адресов вызова. -
event_time(DateTime) — дата и время в момент снятия экземпляра стэка адресов вызова. -
event_time_microseconds(DateTime64) — дата и время в момент снятия экземпляра стэка адресов вызова с точностью до микросекунд. -
revision(UInt32) — ревизия сборки сервера ClickHouse.Во время соединения с сервером через
clickhouse-client, вы видите строку похожую наConnected to ClickHouse server version 19.18.1.. Это поле содержит номер послеrevision, но не содержит строку послеversion. -
trace_type(Enum8) — тип трассировки:Real— сбор трассировок стека адресов вызова по времени wall-clock.CPU— сбор трассировок стека адресов вызова по времени CPU.Memory— сбор выделенной памяти, когда ее размер превышает относительный инкремент.MemorySample— сбор случайно выделенной памяти.
-
thread_number(UInt32) — идентификатор треда. -
query_id(String) — идентификатор запроса который может быть использован для получения деталей о запросе из таблицы query_log system table. -
trace(Array(UInt64)) — трассировка стека адресов вызова в момент семплирования. Каждый элемент массива — это адрес виртуальной памяти внутри процесса сервера ClickHouse.
Пример