traceOn()
语法
db.traceOn( <bufferSize>, [strComp], [strBreakPoint], [tids], [SdbTraceOption] )
db.traceOn( <bufferSize>, [SdbTraceOption] )
类别
Sdb
描述
开启数据库引擎跟踪功能。
参数
参数名 | 参数类型 | 默认值 | 描述 | 是否必填 |
---|---|---|---|---|
bufferSize | int | —- | 开启追踪的文件大小,单位:兆字节,取值:[1,1024] | 是 |
strComp | string | 所有模块 | 指定模块 | 否 |
strBreakPoint | string | —- | 于函数处打断点进行跟踪 | 否 |
tids | array | 所有线程 | 指定单个或多个线程tid | 否 |
SdbTraceOption | JSON 对象 | —- | 使用一个对象来指定监控参数,使用方法可参考SdbTraceOption | 否 |
返回值
无返回值,出错抛异常,并输出错误信息,可以通过 getLastErrMsg() 获取错误信息 或 通过 getLastError() 获取错误码。
关于错误处理可以参考常见错误处理指南 。
错误
常见错误可参考错误码。
示例
开启数据库引擎程序跟踪的功能
注: db.traceOn() 只对 db 连接的节点进行跟踪
> db.traceOn( 256 )
开启数据库引擎程序跟踪功能,指定跟踪的模块名称和指定断点进行跟踪
> db.traceOn( 256, "cls, dms, mth", "_dmsTempSUMgr::init", 12712 )
或者指定多个tid
> db.traceOn( 256, "cls, dms, mth", "_dmsTempSUMgr::init", [12712, 12713, 12714] )
当被跟踪的模块遇到断点被阻塞,如果想唤醒被跟踪的模块,具体可参考traceResume()
> db.traceResume()
查看当前程序跟踪的状态,具体可参考traceStatus()
> db.traceStatus()
关闭数据库引擎跟踪,并将跟踪情况导出二进制文件: /opt/sequoiadb/trace.dump,具体可参考traceOff()
> db.traceOff("/opt/sequoiadb/trace.dump")
解析二进制文件,具体可参考traceFmt()
> traceFmt( 0, "/opt/sequoiadb/trace.dump", "/opt/sequoiadb/trace.flw" )