Skip to main content
Skip to main content

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.

Пример