Запросы в ClickHouse CloudДанные в этой системной таблице хранятся локально на каждом узле ClickHouse Cloud. Поэтому, чтобы получить полное представление обо всех данных, требуется функция
clusterAllReplicas. Дополнительные сведения см. здесь.Описание
addressToLine, addressToLineWithInlines, addressToSymbol и demangle.
Столбцы
hostname(LowCardinality(String)) — Имя хоста сервера, выполняющего запрос.event_date(Date) — Дата сэмплирования.event_time(DateTime) — временная метка момента сэмплирования.event_time_microseconds(DateTime64(6)) — Временная метка момента сэмплирования с точностью до микросекунд.timestamp_ns(UInt64) — временная метка момента сэмплирования в наносекундах.revision(UInt32) — ревизия сборки сервера ClickHouse. При подключении к серверу с помощьюclickhouse-clientвы видите строку видаConnected to ClickHouse server version 19.18.1.. Это поле содержитrevision, а неversionсервера.trace_type(Enum8(‘Real’ = 0, ‘CPU’ = 1, ‘Memory’ = 2, ‘MemorySample’ = 3, ‘MemoryPeak’ = 4, ‘ProfileEvent’ = 5, ‘JemallocSample’ = 6, ‘MemoryAllocatedWithoutCheck’ = 7, ‘Instrumentation’ = 8)) — Тип трассировки:Realозначает сбор трассировок стека по астрономическому времени.CPUозначает сбор трассировок стека по времени CPU.Memoryозначает сбор событий выделения и освобождения памяти, когда её выделение превышает следующую водяную метку.MemorySampleозначает сбор случайных событий выделения и освобождения памяти.MemoryPeakозначает сбор обновлений пикового потребления памяти.ProfileEventозначает сбор приращений profile events.JemallocSampleозначает сбор сэмплов jemalloc.MemoryAllocatedWithoutCheckозначает сбор значительных выделений памяти (>16MiB), который выполняется без учёта каких-либо ограничений памяти (только для разработчиков ClickHouse).Instrumentationозначает трассы, собранные с помощью инструментирования через XRay.cpu_id(UInt64) — идентификатор процессора.thread_id(UInt64) — идентификатор потока.thread_name(LowCardinality(String)) — имя потока.query_id(String) — идентификатор запроса, который можно использовать для получения сведений о выполнявшемся запросе из системной таблицы query_log.trace(Array(UInt64)) — трассировка стека на момент сэмплирования. Каждый элемент — виртуальный адрес памяти в процессе сервера ClickHouse.size(Int64) — для типов trace Memory, MemorySample, MemoryAllocatedWithoutCheck и MemoryPeak это объём выделенной памяти, для остальных типов trace — 0.ptr(UInt64) — адрес выделенного фрагмента.memory_context(Enum8(‘Unknown’ = -1, ‘Global’ = 0, ‘User’ = 1, ‘Process’ = 2, ‘Thread’ = 3, ‘Max’ = 4)) — контекст трекера памяти (только для Memory/MemoryPeak): контекстUnknownне определён для данного trace_type.Globalобозначает контекст сервера.Userобозначает контекст пользователя или слияния.Processобозначает контекст процесса (то есть запроса).Threadобозначает контекст потока (потока конкретного процесса).Max— это специальное значение, которое означает, что трекер памяти не заблокирован (для столбца blocked_context).memory_blocked_context(Enum8(‘Unknown’ = -1, ‘Global’ = 0, ‘User’ = 1, ‘Process’ = 2, ‘Thread’ = 3, ‘Max’ = 4)) — Контекст, для которого заблокирован трекер памяти (только для разработчиков ClickHouse): контекстUnknownне определён для этого trace_type.Globalобозначает контекст сервера.Userобозначает контекст пользователя/слияния.Processобозначает контекст процесса (то есть запроса).Threadобозначает контекст потока (потока конкретного процесса).Max— специальное значение, которое означает, что трекер памяти не заблокирован (для столбцаblocked_context).event(LowCardinality(String)) — Для типаtraceProfileEventэто имя обновлённого события профиля, для других типовtraceэто пустая строка.increment(Int64) — для трассировки типа ProfileEvent это величина приращения события профиля, для остальных типов трассировки — 0.symbols(Array(LowCardinality(String))) — Если символизация включена, содержит деманглированные имена символов, соответствующиеtrace. Символизацию можно включить или отключить с помощью настройкиsymbolizeв разделеtrace_logфайла конфигурации сервера.lines(Array(LowCardinality(String))) — Если символизация включена, содержит строки с именами файлов и номерами строк, соответствующимиtrace.function_id(Nullable(Int32)) — Для типа trace Instrumentation — идентификатор, присвоенный функции в разделе xray_instr_map ELF-бинарного файла.function_name(Nullable(String)) — Для Instrumentation типа trace — имя функции, в которую добавлена инструментация.handler(Nullable(String)) — Для трассировок типа Instrumentation — обработчик функции с инструментированием.entry_type(Nullable(Enum8(‘Entry’ = 0, ‘Exit’ = 1))) — Для трассы типа Instrumentation: тип Entry/Exit инструментируемой функции.duration_nanoseconds(Nullable(UInt64)) — для trace-типа Instrumentation: время выполнения функции в наносекундах.
build_id— псевдоним для'E2EEB60ED9503BFFA825B628D480CCDC40B2D416'.
symbolize в разделе trace_log файла конфигурации сервера.
Пример
Преобразование в формат трассировки событий Chrome
chrome_trace.sql:
trace.json, который затем можно импортировать либо в Perfetto, либо в speedscope.
См. также
- SYSTEM INSTRUMENT — Добавить или удалить точки инструментирования.
- system.instrumentation — Просмотреть инструментированные точки.
- system.symbols — Просмотреть символы для добавления точек инструментирования.