system.trace_log
The data in this system table is held locally on each node in ClickHouse Cloud. Obtaining a complete view of all data, therefore, requires the clusterAllReplicas
function. See here for further details.
Содержит трассировки стека, собранные с помощью профайлера запросов с выборкой.
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.
Для анализа журналов используйте функции интроспекции addressToLine
, addressToLineWithInlines
, addressToSymbol
и 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) - Для типов трассировокMemory
,MemorySample
илиMemoryPeak
— это объем выделенной памяти, для других типов трассировок — 0. -
event
(LowCardinality(String)) - Для типа трассировкиProfileEvent
— это имя обновленного профилированного события, для других типов трассировок — пустая строка. -
increment
(UInt64) - Для типа трассировкиProfileEvent
— это сумма инкремента профилированного события, для других типов трассировок — 0. -
symbols
, (Array(LowCardinality(String))), Если символизация включена, содержит деманглированные имена символов, соответствующиеtrace
. -
lines
, (Array(LowCardinality(String))), Если символизация включена, содержит строки с именами файлов и номерами строк, соответствующиеtrace
.
Символизация может быть включена или отключена в параметре symbolize
под trace_log
в файле конфигурации сервера.
Пример