Consultas no ClickHouse CloudOs dados nesta tabela de sistema são mantidos localmente em cada nó do ClickHouse Cloud. Portanto, para obter uma visão completa de todos os dados, é necessário usar a função
clusterAllReplicas. Consulte aqui para mais detalhes.Descrição
addressToLine, addressToLineWithInlines, addressToSymbol e demangle.
Colunas
hostname(LowCardinality(String)) — Hostname do servidor que executa a consulta.event_date(Date) — Data do momento em que a amostragem ocorreu.event_time(DateTime) — Timestamp do momento da amostragem.event_time_microseconds(DateTime64(6)) — Timestamp do momento da amostragem com precisão de microssegundos.timestamp_ns(UInt64) — Timestamp do momento de amostragem em nanossegundos.revision(UInt32) — revisão de compilação do servidor ClickHouse. Ao se conectar ao servidor com oclickhouse-client, você verá uma string semelhante aConnected to ClickHouse server version 19.18.1.. Este campo contém arevision, mas não aversionde um servidor.trace_type(Enum8(‘Real’ = 0, ‘CPU’ = 1, ‘Memory’ = 2, ‘MemorySample’ = 3, ‘MemoryPeak’ = 4, ‘ProfileEvent’ = 5, ‘JemallocSample’ = 6, ‘MemoryAllocatedWithoutCheck’ = 7, ‘Instrumentation’ = 8)) — Tipo de trace:Realrepresenta a coleta de stack traces por tempo de relógio.CPUrepresenta a coleta de stack traces por tempo de CPU.Memoryrepresenta a coleta de alocações e desalocações quando a alocação de memória excede a watermark subsequente.MemorySamplerepresenta a coleta aleatória de alocações e desalocações.MemoryPeakrepresenta a coleta de atualizações do pico de uso de memória.ProfileEventrepresenta a coleta de incrementos de eventos de profile.JemallocSamplerepresenta a coleta de amostras do jemalloc.MemoryAllocatedWithoutCheckrepresenta a coleta de alocações significativas (>16MiB), feita sem considerar quaisquer limites de memória (apenas para desenvolvedores do ClickHouse).Instrumentationrepresenta traces coletados pela instrumentação realizada por meio do XRay.cpu_id(UInt64) — identificador da CPU.thread_id(UInt64) — Identificador da thread.thread_name(LowCardinality(String)) — Nome da thread.query_id(String) — Identificador da consulta que pode ser usado para obter detalhes sobre uma consulta que estava em execução a partir da tabela de sistema query_log.trace(Array(UInt64)) — Stack trace no momento da amostragem. Cada elemento é um endereço de memória virtual no processo do servidor ClickHouse.size(Int64) — Para os tipos de trace Memory, MemorySample, MemoryAllocatedWithoutCheck ou MemoryPeak, é a quantidade de memória alocada; para os demais tipos de trace, é 0.ptr(UInt64) — O endereço do fragmento alocado.memory_context(Enum8(‘Unknown’ = -1, ‘Global’ = 0, ‘User’ = 1, ‘Process’ = 2, ‘Thread’ = 3, ‘Max’ = 4)) — contexto do memory tracker (apenas para Memory/MemoryPeak): o contextoUnknownnão está definido para estetrace_type.Globalrepresenta o contexto do servidor.Userrepresenta o contexto do usuário/merge.Processrepresenta o contexto do processo (ou seja, da consulta).Threadrepresenta o contexto da thread (thread de um processo específico).Maxé um valor especial que significa que o memory tracker não está bloqueado (para a coluna blocked_context).memory_blocked_context(Enum8(‘Unknown’ = -1, ‘Global’ = 0, ‘User’ = 1, ‘Process’ = 2, ‘Thread’ = 3, ‘Max’ = 4)) — Contexto no qual o memory tracker está bloqueado (somente para desenvolvedores do ClickHouse): o contextoUnknownnão está definido para este trace_type.Globalrepresenta o contexto do servidor.Userrepresenta o contexto de usuário/merge.Processrepresenta o contexto do processo (ou seja, da consulta).Threadrepresenta o contexto da thread (thread de um processo específico).Maxé um valor especial que significa que o memory tracker não está bloqueado (para a coluna blocked_context).event(LowCardinality(String)) — Para o tipo de traceProfileEvent, é o nome do evento de perfil atualizado; para os outros tipos de trace, é uma string vazia.increment(Int64) — Para traces do tipo ProfileEvent, é o valor do incremento do evento de profile; para outros tipos de trace, é 0.symbols(Array(LowCardinality(String))) — Se a simbolização estiver habilitada, contém nomes de símbolos desmanglados, correspondentes aotrace. A simbolização pode ser habilitada ou desabilitada pela configuraçãosymbolize, emtrace_log, no arquivo de configuração do servidor.lines(Array(LowCardinality(String))) — Se a simbolização estiver habilitada, contém strings com nomes de arquivos e números de linha correspondentes aotrace.function_id(Nullable(Int32)) — Para o trace do tipo Instrumentation, ID atribuído à função na seção xray_instr_map do binário ELF.function_name(Nullable(String)) — Para o trace do tipo Instrumentation, nome da função instrumentada.handler(Nullable(String)) — Para o trace do tipo Instrumentation, handler da função instrumentada.entry_type(Nullable(Enum8(‘Entry’ = 0, ‘Exit’ = 1))) — Para o tipo de trace Instrumentation, indica se é a entrada ou a saída da função instrumentada.duration_nanoseconds(Nullable(UInt64)) — Para o tipo de trace Instrumentation, tempo de execução da função, em nanossegundos.
build_id— Alias de'E2EEB60ED9503BFFA825B628D480CCDC40B2D416'.
symbolize, em trace_log, no arquivo de configuração do servidor.
Exemplo
Convertendo para o Chrome Event Trace Format
chrome_trace.sql:
trace.json, que podemos importar no Perfetto ou no speedscope.
Veja também
- SYSTEM INSTRUMENT — Adicione ou remova pontos de instrumentação.
- system.instrumentation — Inspecione os pontos instrumentados.
- system.symbols — Inspecione os símbolos para adicionar pontos de instrumentação.