Profiler 的类型
使用 XRay 的集成功能分析 ClickHouse 性能
sleepForNanoseconds 函数的性能,它很适合用来检查运行耗时。
使用 XRay 对原生应用程序进行性能分析
对代码进行插桩
- 需要使用
-fxray-instrument为代码插桩。 - 使用
-fxray-instruction-threshold=1是为了让它对所有函数都进行插桩,即使它们 像本例中那样非常小。默认情况下,它只会对至少有 200 条 指令的函数进行插桩。
使用适当的环境变量值运行进程以收集 trace
XRAY_OPTIONS 设置不同的值,
以配置 Profiler 何时开始收集,以及采用何种方式收集。
转换 trace
trace_event 格式非常有用,因为
它便于解析,而且已有不少工具支持,因此我们将使用这种格式:
将 trace 可视化
按时间顺序
左偏重
三明治
查阅文档
- SYSTEM INSTRUMENT — 添加 或移除插桩点。
- system.instrumentation — 查看已插桩的点位。
- system.symbols — 查看 可用于添加插桩点的符号。
- system.trace_log — 查看通过插桩点收集的 数据。
- XRay Instrumentation
- 使用 XRay 进行调试 文档以了解更多详情。