instrumentation 시스템 테이블
instrumentation 시스템 테이블
instrumentation 시스템 테이블은 LLVM의 XRay 기능을 사용하는 계측 지점을 담고 있어요. system.instrumentation은 LLVM XRay 지원(USE_XRAY)으로 컴파일된 ClickHouse 빌드에만 존재해요.
출처: 문서
본문
Querying in ClickHouse Cloud 이 시스템 테이블의 데이터는 ClickHouse Cloud의 각 노드에 로컬로 보관돼요. 따라서 모든 데이터에 대한 완전한 뷰를 얻으려면 clusterAllReplicas 함수가 필요해요. 자세한 내용은 여기를 참고해요.
Description (설명)
LLVM의 XRay 기능을 사용하는 계측 지점을 담고 있어요. Availability system.instrumentation은 LLVM XRay 지원(USE_XRAY)으로 컴파일된 ClickHouse 빌드에만 존재해요. 그것이 없는 빌드에서는 테이블이 존재하지 않고, 이에 대한 쿼리는 UNKNOWN_TABLE로 실패해요. 빌드에서 활성화되었는지는 다음으로 확인할 수 있어요:
SELECT value FROM system.build_options WHERE name = 'USE_XRAY';
Columns (열)
id(UInt32) — 계측 지점의 ID.function_id(Int32) — elf-바이너리의 xray_instr_map 섹션에서 함수에 지정된 ID.function_name(LowCardinality(String)) — 함수를 계측하는 데 사용된 이름.handler(LowCardinality(String)) — 함수의 계측 지점에 패치된 핸들러.entry_type(Enum8(‘Entry’ = 0, ‘Exit’ = 1, ‘EntryAndExit’ = 2)) — 패치의 엔트리 유형.symbol(LowCardinality(String)) — 완전하고 디맹글된 심볼 이름.arguments(Array(Dynamic)) — 핸들러 호출의 인수.
Example (예제)
SELECT * FROM system.instrumentation FORMAT Vertical;
Row 1:
──────
id: 0
function_id: 231280
function_name: QueryMetricLog::startQuery
handler: log
entry_type: Entry
symbol: DB::QueryMetricLog::startQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l>>>, unsigned long)
arguments: ['test']
Row 2:
──────
id: 1
function_id: 231280
function_name: QueryMetricLog::startQuery
handler: profile
entry_type: EntryAndExit
symbol: DB::QueryMetricLog::startQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l>>>, unsigned long)
arguments: []
Row 3:
──────
id: 2
function_id: 231280
function_name: QueryMetricLog::startQuery
handler: sleep
entry_type: Exit
symbol: DB::QueryMetricLog::startQuery(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000l>>>, unsigned long)
arguments: [0.3]
3 rows in set. Elapsed: 0.302 sec.
See Also (참고)
- SYSTEM INSTRUMENT — 계측 지점 추가 또는 제거.
- system.trace_log — 프로파일링 로그 검사.
- system.symbols — 계측 지점을 추가할 심볼 검사.