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

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 представляет сбор трассировок стека по времени ЦП.
    • 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 в конфигурационном файле сервера.

Пример