Passer au contenu principal
Vous pouvez utiliser les fonctions décrites dans ce chapitre pour inspecter ELF et DWARF dans le cadre du profilage des requêtes.
Ces fonctions sont lentes et peuvent poser des problèmes de sécurité.
Pour que les fonctions d’introspection fonctionnent correctement :
  • Installez le paquet clickhouse-common-static-dbg.
  • Définissez le paramètre allow_introspection_functions sur 1. Pour des raisons de sécurité, les fonctions d’introspection sont désactivées par défaut.
ClickHouse enregistre les rapports du profileur dans la table système trace_log. Assurez-vous que la table et le profileur sont correctement configurés.

addressToLine

Introduit dans : v20.1.0 Convertit une adresse de mémoire virtuelle au sein du processus serveur ClickHouse en nom de fichier et numéro de ligne dans le code source de ClickHouse.
Cette fonction est lente et peut avoir des implications en matière de sécurité.
Pour activer cette fonction d’introspection : Syntaxe
Arguments
  • address_of_binary_instruction — Adresse de l’instruction dans un processus en cours d’exécution. UInt64
Valeur renvoyée Renvoie un nom de fichier de code source et un numéro de ligne séparés par le caractère deux-points, par exemple /build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:199. Renvoie le nom d’un binaire si aucune information de débogage n’a été trouvée ; sinon, renvoie une chaîne vide si l’adresse n’est pas valide. String Exemples Sélection de la première chaîne de caractères de la table système trace_log
Query
Response
Récupération du nom du fichier de code source et du numéro de ligne pour une seule adresse
Query
Response
Application de la fonction à l’intégralité de la pile d’appels
Query
Response

addressToLineWithInlines

Introduit dans : v22.2.0 Semblable à addressToLine, mais renvoie un Array contenant toutes les fonctions intégrées. Par conséquent, elle est plus lente que addressToLine. Pour activer cette fonction d’introspection : Syntaxe
Arguments
  • address_of_binary_instruction — L’adresse d’une instruction dans un processus en cours d’exécution. UInt64
Valeur renvoyée Renvoie un tableau dont le premier élément est le nom du fichier source et le numéro de ligne, séparés par un deux-points. Les deuxième, troisième, etc. éléments listent les noms des fichiers source, les numéros de ligne et les noms des fonctions inline. Si aucune information de débogage n’a pu être trouvée, un tableau contenant un seul élément correspondant au nom du binaire est renvoyé ; sinon, un tableau vide est renvoyé si l’adresse n’est pas valide. Array(String) Exemples Application de la fonction à une adresse
Query
Response
Application de la fonction à l’intégralité de la pile d’appels
Query
Response

addressToSymbol

Introduit dans : v20.1.0 Convertit une adresse de mémoire virtuelle située dans le processus du serveur ClickHouse en un symbole provenant des fichiers objets de ClickHouse. Syntaxe
Arguments
  • address_of_binary_instruction — Adresse de l’instruction dans un processus en cours d’exécution. UInt64
Valeur renvoyée Renvoie le symbole des fichiers objets de ClickHouse ou une chaîne vide si l’adresse n’est pas valide. String Exemples Sélection de la première chaîne de la table système trace_log
Query
Response
Récupération du symbole pour une seule adresse
Query
Response
Application de la fonction à l’ensemble de la pile d’appels
Query
Response

demangle

Introduit dans : v20.1.0 Convertit un symbole en nom de fonction C++. Le symbole est généralement renvoyé par la fonction addressToSymbol. Syntaxe
Arguments
  • symbol — Symbole provenant d’un fichier objet. String
Valeur renvoyée Renvoie le nom de la fonction C++, ou une chaîne vide si le symbole n’est pas valide. String Exemples Sélection de la première chaîne de caractères de la table système trace_log
Query
Response
Obtenir le nom d’une fonction pour une adresse unique
Query
Response
Appliquer la fonction à l’ensemble de la pile d’appels
Query
Response

isMergeTreePartCoveredBy

Introduit dans : v25.6.0 Fonction qui vérifie si la part du premier argument est couverte par la part du second argument. Syntaxe
Arguments
  • nested_part — Nom de la part imbriquée attendue. String
  • covering_part — Nom de la part couvrante attendue. String
Valeur renvoyée Renvoie 1 si elle le couvre, 0 sinon. UInt8 Exemples Exemple de base
Query
Response

logTrace

Introduit dans : v20.12.0 Émet un message de trace dans le journal du serveur pour chaque Block. Syntaxe
Arguments
  • message — Message consigné dans le journal du serveur. const String
Valeur renvoyée Renvoie toujours 0. UInt8 Exemples Exemple de base
Query
Response

mergeTreePartInfo

Introduit dans : v25.6.0 Fonction qui permet d’extraire les valeurs utiles du nom de la part MergeTree. Syntaxe
Arguments
  • part_name — Nom de la part à décompacter. String
Valeur renvoyée Renvoie un Tuple comportant les sous-colonnes suivantes : partition_id, min_block, max_block, level, mutation. Tuple Exemples Exemple de base
Query
Response

tid

Introduit dans : v20.12.0 Renvoie l’identifiant du thread dans lequel le Block actuel est traité. Syntaxe
Arguments
  • Aucun.
Valeur renvoyée Renvoyer l’identifiant du thread actuel. UInt64 Exemples Exemple d’utilisation
Query
Response
Dernière modification le 2 juillet 2026