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

system.trace_log

Querying in ClickHouse Cloud

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 в файле конфигурации сервера.

Пример