暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为openGauss gstrace

华为高斯 2020-06-01
1787

功能介绍

gstrace是openGauss提供的用来跟踪内核代码执行路径,记录内核数据结构,分析代码性能的工具。Trace的有限点位和数据在版本中被固化,无法动态添加和删除。

警告:
1. 对内核dump指定内存变量的数据用于诊断分析,不存在直接指定任意寄存器或者内存地址的行为。读取的内存地址均是在开发阶段硬编码,没有任意地读取或者修改寄存器或内存的操作。
2. Trace点可能涉及敏感数据,收集trace信息前需要同用户协商,授权和许可后方可收集。
3. openGauss不会在敏感信息上打点,不会TRACE和用户相关的数据。
4. Trace仅用于诊断目的,开启trace将对性能产生一定影响,影响的大小视负载的高低,trace的模块而不同。
5. Trace工具的权限为0700,仅限于数据库用户读、写和执行。

说明:
如果进程异常终止,/dev/shm/ 目录下将会有gstrace_trace_cfg_*残留,可以手动清除。

语法

gstrace [start|stop|config|dump|detailcodepath|analyze] [-p <pid>] [-m <MASK>] [-s <BUFFER_SIZE>] [-f <DUMP_FILE>] [-o <OUTPUT_FILE>] [-t <STEP_SIZE>]

参数说明

表 1 gs_trace参数说明

参数

说明

start

开始记录trace

stop

停止trace,释放存储信息的共享内存trace buffer。注意:trace buffer中已捕获trace信息会丢失。

config

显示trace的配置信息

dump

将共享内存中的trace信息写入指定文件。若没有启动trace将报错。

detail

将dump出来的二进制文件解析成文本文件,显示trace点的线程、时间信息。

codepath

提取dump文件中的函数调用信息,按照调用栈的方式显示。

analyze

统计各个函数的执行次数、总耗时、平均耗时、最长耗时、最短耗时

-p PID

指定启动trace功能的实例进程号

-f DUMP_FILE

指定dump导出的trace文件

-o OUTPUT_FILE

指定写入的文件

-t STEP_SIZE

指定分片分析的时间跨度(秒),可选。将生成单独的{OUTPUT_FILE}.step文件。

-m MASK

指定哪些模块、函数需要追踪,如果参数为空,则追踪添加trace接口的所有模块的所有函数。

格式::[comp…][ALL].[func…][ALL]

描述:

  1. comp 是模块列表,使用‘,’分隔,例如:executer,opengauss。也可以使用序号,例如:executer,2
  2. func 是function列表,使用‘,’ 分隔。 例如:sql_execute_ddl, sql_execute_dcl。也可以使用序号指代模块中第几个function,例如:2
  3. 设置成ALL表示所有模块或所有function被trace。

示例:

  1. executer,opengauss.ALL :所有定义定义在executer和opengauss模块下的function被trace。
  2. executer,opengauss.sql_execute_ddl :定义在executer 下的Function sql_execute_ddl被trace. opengauss模块被忽略,因为下面没有该function 。
  3. executer,opengauss.1 :定义在模块executer和 opengauss 下的第一个function被trace。

ALL.1,2 :定义在所有模块下的第一,二个function被trace。

-s BUFFER_SIZE

指定用于trace功能的共享内存大小,默认为1G,该值需要为2的倍数,如果不是则会补齐为2的倍数。

示例

  1. 启动trace

    gstrace start -p 207787

  2. 停止trace

    gstarce stop -p 207787

  3. 查看trace配置

    gstrace config -p 207787

  4. dump trace

    gstrace dump -p 207787 -o /data/207787.dump

  5. 解析dump detail信息

    gstrace detail -f /data/207787.dump -o /data/207787.detail

  6. 解析dump codepath

    gstrace codepath -f /data/207787.dump -o /data/207787.codepath

  7. 分析全局性能

    gstrace analyze -f /data/207787.dump -o /data/207787.perf

  8. 分析分片性能

    gstrace analyze -f /data/207787.dump -o /data/207787.perf -t 1

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

文集目录
暂无数据