描述
包含通过 LLVM 的 XRay 功能插入的插桩点。
列
id(UInt32) — 插桩点的 IDfunction_id(Int32) — 在 elf-binary 的 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)) — 处理程序调用的参数。
示例
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.另请参阅
- SYSTEM INSTRUMENT — 添加或移除插桩点。
- system.trace_log — 查看性能分析日志。
- system.symbols — 查看符号以添加插桩点。