gstrace
功能介绍
gstrace是openGauss提供的用来跟踪内核代码执行路径,记录内核数据结构,分析代码性能的工具。Trace的有限点位和数据在版本中被固化,无法动态添加和删除。
警告:
对内核dump指定内存变量的数据用于诊断分析,不存在直接指定任意寄存器或者内存地址的行为。读取的内存地址均是在开发阶段硬编码,没有任意地读取或者修改寄存器或内存的操作。
Trace点可能涉及敏感数据,收集trace信息前需要同用户协商,授权和许可后方可收集。
openGauss不会在敏感信息上打点,不会TRACE和用户相关的数据。
Trace仅用于诊断目的,开启trace将对性能产生一定影响,影响的大小视负载的高低,trace的模块而不同。
Trace工具的权限为0700,仅限于数据库用户读、写和执行。
说明:
如果进程异常终止,/dev/shm/ 目录下将会有gstrace_trace_cfg_*残留,可以手动清除。
语法
gstrace [start|stop|config|dump|detailcodepath|analyze] [-p <pid>][-s <BUFFER_SIZE>] [-f <DUMP_FILE>] [-o <OUTPUT_FILE>] [-t <STEP_SIZE>]
参数说明
表 1 gs_trace参数说明
示例
启动trace
gstrace start -p 207787
停止trace
gstrace stop -p 207787
查看trace配置
gstrace config -p 207787
dump trace
gstrace dump -p 207787 -o /data/207787.dump
解析dump detail信息
gstrace detail -f /data/207787.dump -o /data/207787.detail
解析dump codepath
gstrace codepath -f /data/207787.dump -o /data/207787.codepath
分析全局性能
gstrace analyze -f /data/207787.dump -o /data/207787.perf
分析分片性能
gstrace analyze -f /data/207787.dump -o /data/207787.perf -t 1