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 )
- 或者
- > db.traceOn( 256, new SdbTraceOption().components( "cls", dms", "mth" ).breakPoints( "_dmsTempSUMgr::init" ).tids( 12712 ) )
或者指定多个tid
- > db.traceOn( 256, "cls, dms, mth", "_dmsTempSUMgr::init", [12712, 12713, 12714] )
- 或者
- > db.traceOn( 256, new SdbTraceOption().components( "cls", dms", "mth" ).breakPoints( "_dmsTempSUMgr::init" ).tids( [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" )