Pular para o conteúdo principal
Você pode usar as funções descritas neste capítulo para inspecionar ELF e DWARF no profiling de consultas.
Essas funções são lentas e podem ter implicações de segurança.
Para o funcionamento correto das funções de introspecção:
  • Instale o pacote clickhouse-common-static-dbg.
  • Defina a configuração allow_introspection_functions como 1. Por motivos de segurança, as funções de introspecção ficam desabilitadas por padrão.
O ClickHouse salva relatórios do profiler na tabela de sistema trace_log. Certifique-se de que a tabela e o profiler estejam configurados corretamente.

addressToLine

Introduzido em: v20.1.0 Converte um endereço de memória virtual dentro do processo do servidor ClickHouse em um nome de arquivo e um número de linha no código-fonte do ClickHouse.
Esta função é lenta e pode trazer implicações de segurança.
Para habilitar esta função de introspecção: Sintaxe
Argumentos
  • address_of_binary_instruction — Endereço da instrução em um processo em execução. UInt64
Valor retornado Retorna um nome de arquivo de código-fonte e um número de linha separados por dois-pontos, por exemplo, /build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:199. Retorna o nome de um binário se nenhuma informação de depuração for encontrada; caso contrário, retorna uma string vazia se o endereço não for válido. String Exemplos Selecionando a primeira string da tabela de sistema trace_log
Query
Response
Como obter o nome do arquivo do código-fonte e o número da linha de um único endereço
Query
Response
Aplicando a função ao stack trace completo
Query
Response

addressToLineWithInlines

Introduzido em: v22.2.0 Semelhante a addressToLine, mas retorna um Array com todas as funções embutidas. Por isso, é mais lento que addressToLine. Para habilitar esta função de introspecção: Sintaxe
Argumentos
  • address_of_binary_instruction — O endereço de uma instrução em um processo em execução. UInt64
Valor retornado Retorna um array cujo primeiro elemento é o nome do arquivo de código-fonte e o número da linha, separados por dois-pontos. O segundo, o terceiro etc. elementos listam os nomes dos arquivos de código-fonte, os números das linhas e os nomes das funções inline. Se nenhuma informação de depuração for encontrada, será retornado um array com um único elemento igual ao nome do binário; caso contrário, será retornado um array vazio se o endereço não for válido. Array(String) Exemplos Aplicando a função a um endereço
Query
Response
Aplicando a função a todo o stack trace
Query
Response

addressToSymbol

Introduzido em: v20.1.0 Converte um endereço de memória virtual no processo do servidor ClickHouse em um símbolo dos arquivos-objeto do ClickHouse. Sintaxe
Argumentos
  • address_of_binary_instruction — Endereço da instrução em um processo em execução. UInt64
Valor retornado Retorna o símbolo dos arquivos-objeto do ClickHouse ou uma string vazia, se o endereço não for válido. String Exemplos Selecionando a primeira string da tabela de sistema trace_log
Query
Response
Obtendo o símbolo de um único endereço
Query
Response
Aplicando a função a todo o stack trace
Query
Response

demangle

Introduzido em: v20.1.0 Converte um símbolo em um nome de função em C++. O símbolo geralmente é retornado pela função addressToSymbol. Sintaxe
Argumentos
  • symbol — Símbolo de um arquivo-objeto. String
Valor retornado Retorna o nome da função C++, ou uma string vazia se o símbolo não for válido. String Exemplos Selecionando a primeira string da tabela do sistema trace_log
Query
Response
Obtendo o nome da função a partir de um único endereço
Query
Response
Aplicando a função ao stack trace inteiro
Query
Response

isMergeTreePartCoveredBy

Introduzido em: v25.6.0 Função que verifica se a parte do primeiro argumento está coberta pela parte do segundo argumento. Sintaxe
Argumentos
  • nested_part — Nome da parte aninhada esperada. String
  • covering_part — Nome da parte de cobertura esperada. String
Valor retornado Retorna 1 se houver cobertura, 0 caso contrário. UInt8 Exemplos Exemplo básico
Query
Response

logTrace

Introduzido em: v20.12.0 Emite uma mensagem de log no nível trace no log do servidor para cada Block. Sintaxe
Argumentos
  • message — Mensagem que é emitida no log do servidor. const String
Valor retornado Sempre retorna 0. UInt8 Exemplos Exemplo básico
Query
Response

mergeTreePartInfo

Introduzido em: v25.6.0 Função que ajuda a extrair os valores úteis do nome da parte do MergeTree. Sintaxe
Argumentos
  • part_name — Nome da parte a ser desempacotada. String
Valor retornado Retorna um Tuple com subcolunas: partition_id, min_block, max_block, level, mutation. Tuple Exemplos Exemplo básico
Query
Response

tid

Introduzido em: v20.12.0 Retorna o ID da thread em que o Block atual é processado. Sintaxe
Argumentos
  • Nenhum.
Valor retornado Retorna o ID da thread atual. UInt64 Exemplos Exemplo de uso
Query
Response
Última modificação em 2 de julho de 2026