메인 콘텐츠로 건너뛰기
이 장에 설명된 함수를 사용하면 쿼리 프로파일링을 위해 ELFDWARF를 검사할 수 있습니다.
이 함수는 느리며 보안 측면에서 고려가 필요할 수 있습니다.
인트로스펙션 함수가 제대로 작동하려면 다음이 필요합니다.
  • clickhouse-common-static-dbg 패키지를 설치합니다.
  • allow_introspection_functions 설정을 1로 지정합니다. 보안상의 이유로 인트로스펙션 함수는 기본적으로 비활성화되어 있습니다.
ClickHouse는 프로파일러 보고서를 trace_log 시스템 테이블에 저장합니다. 테이블과 프로파일러가 올바르게 구성되어 있는지 확인하십시오.

addressToLine

도입 버전: v20.1.0 ClickHouse 서버 프로세스 내부의 가상 메모리 주소를 ClickHouse 소스 코드의 파일 이름과 줄 번호로 변환합니다.
이 함수는 느리며 보안상 문제가 될 수 있습니다.
이 내부 검사 함수를 활성화하려면: 구문
인수
  • address_of_binary_instruction — 실행 중인 프로세스의 명령어 주소입니다. UInt64
반환 값 소스 코드 파일명과 줄 번호를 콜론으로 구분해 반환합니다. 예를 들면 /build/obj-x86_64-linux-gnu/../src/Common/ThreadPool.cpp:199와 같습니다. 디버그 정보를 찾을 수 없으면 바이너리 이름을 반환하며, 주소가 유효하지 않으면 빈 문자열을 반환합니다. String 예시 trace_log 시스템 테이블에서 첫 번째 문자열 조회하기
Query
Response
단일 주소의 소스 코드 파일명과 라인 번호 가져오기
Query
Response
전체 스택 트레이스에 함수 적용하기
Query
Response

addressToLineWithInlines

도입 버전: v22.2.0 addressToLine과 유사하지만, 모든 인라인 함수가 포함된 배열을 반환합니다. 이 때문에 addressToLine보다 더 느립니다. 이 내부 검사 함수를 활성화하려면 다음을 수행하십시오. 구문
인수
  • address_of_binary_instruction — 실행 중인 프로세스에 있는 명령어의 주소입니다. UInt64
반환 값 첫 번째 요소가 콜론으로 구분된 소스 코드 파일 이름과 줄 번호인 배열을 반환합니다. 두 번째, 세 번째 이후의 요소에는 인라인 함수의 소스 코드 파일 이름, 줄 번호, 함수 이름이 나열됩니다. 디버그 정보를 찾을 수 없으면 바이너리 이름만 포함된 단일 요소 배열이 반환되며, 주소가 유효하지 않으면 빈 배열이 반환됩니다. Array(String) 예시 주소에 함수를 적용하는 예시
Query
Response
전체 스택 트레이스에 함수 적용
Query
Response

addressToSymbol

도입 버전: v20.1.0 ClickHouse 서버 프로세스 내부의 가상 메모리 주소를 ClickHouse 객체 파일의 심볼로 변환합니다. 구문
인수
  • address_of_binary_instruction — 실행 중인 프로세스의 명령어 주소입니다. UInt64
반환 값 주소가 유효한 경우 ClickHouse 객체 파일의 심볼을, 유효하지 않은 경우 빈 문자열을 반환합니다. String 예시 trace_log system table에서 첫 번째 문자열을 선택하기
Query
Response
단일 주소의 심볼 조회
Query
Response
전체 스택 트레이스에 함수 적용하기
Query
Response

demangle

도입 버전: v20.1.0 심볼을 C++ 함수 이름으로 변환합니다. 이 심볼은 일반적으로 addressToSymbol 함수가 반환합니다. 구문
인수
  • symbol — 객체 파일의 심볼입니다. String
반환 값 C++ 함수의 이름을 반환하며, 심볼이 유효하지 않으면 빈 문자열을 반환합니다. String 예시 trace_log 시스템 테이블에서 첫 번째 문자열 조회
Query
Response
단일 주소의 함수 이름 가져오기
Query
Response
전체 스택 트레이스에 함수 적용
Query
Response

isMergeTreePartCoveredBy

도입 버전: v25.6.0 첫 번째 인수의 파트가 두 번째 인수의 파트에 포함되는지 확인하는 함수입니다. 구문
인수
  • nested_part — 예상되는 중첩 파트의 이름입니다. String
  • covering_part — 예상되는 커버링 파트의 이름입니다. String
반환 값 커버하면 1을, 그렇지 않으면 0을 반환합니다. UInt8 예시 기본 예시
Query
Response

logTrace

도입 버전: v20.12.0 블록마다 서버 로그에 trace 로그 메시지를 출력합니다. 구문
인수
  • message — 서버 로그에 기록되는 메시지입니다. const String
반환 값 항상 0을 반환합니다. UInt8 예시 기본 예시
Query
Response

mergeTreePartInfo

도입 버전: v25.6.0 MergeTree 파트 이름에서 유용한 값을 추출해 주는 함수입니다. 구문
인수
  • part_name — 압축 해제할 파트 이름입니다. String
반환 값 다음 서브컬럼을 가진 Tuple을 반환합니다: partition_id, min_block, max_block, level, mutation. Tuple 예시 기본 예시
Query
Response

tid

도입 버전: v20.12.0 현재 블록을 처리하는 스레드의 ID를 반환합니다. 구문
인수
  • 없음.
반환 값 현재 스레드 ID를 반환합니다. UInt64 예시 사용 예시
Query
Response
마지막 수정일 2026년 7월 2일