system.trace_log
Данные в этой системной таблице хранятся локально на каждом узле в ClickHouse Cloud. Для получения полного представления о всех данных требуется функция clusterAllReplicas
. Смотрите здесь для получения дополнительной информации.
Содержит стековые трейсы, собранные профайлером запросов выборки.
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
представляет собой сбор инкрементов событий профилирования.JemallocSample
представляет собой сбор образцов jemalloc.MemoryAllocatedWithoutCheck
представляет собой сбор значительных аллокаций (>16MiB), выполненных с игнорированием любых ограничений на память (только для разработчиков ClickHouse).
-
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
в файле конфигурации сервера.
Пример