Перейти к основному содержимому
Перейти к основному содержимому

system.trace_log

Запросы в ClickHouse Cloud

Данные в этой системной таблице хранятся локально на каждом узле в 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 представляет собой сбор приростов событий профилирования.
  • 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 в файле конфигурации сервера.

Пример