traceOn()

语法

db.traceOn( <bufferSize>, [strComp], [strBreakPoint], [tids], [SdbTraceOption] )

db.traceOn( <bufferSize>, [SdbTraceOption] )

类别

Sdb

描述

开启数据库引擎跟踪功能。

参数

参数名参数类型默认值描述是否必填
bufferSizeint—-开启追踪的文件大小,单位:兆字节,取值:[1,1024]
strCompstring所有模块指定模块
strBreakPointstring—-于函数处打断点进行跟踪
tidsarray所有线程指定单个或多个线程tid
SdbTraceOptionJSON 对象—-使用一个对象来指定监控参数,使用方法请参考SdbTraceOption

返回值

无返回值,出错抛异常,并输出错误信息,可以通过getLastErrMsg()获取错误信息或通过getLastError()获取错误码。关于错误处理可以参考常见错误处理指南

错误

常见错误可参考错误码

示例

  • 开启数据库引擎程序跟踪的功能

注: db.traceOn() 只对 db 连接的节点进行跟踪

  1. > db.traceOn( 256 )
  • 开启数据库引擎程序跟踪功能,指定跟踪的模块名称和指定断点进行跟踪
  1. > db.traceOn( 256, "cls, dms, mth", "_dmsTempSUMgr::init", 12712 )
  2. 或者
  3. > db.traceOn( 256, new SdbTraceOption().components( "cls", dms", "mth" ).breakPoints( "_dmsTempSUMgr::init" ).tids( 12712 ) )

或者指定多个tid

  1. > db.traceOn( 256, "cls, dms, mth", "_dmsTempSUMgr::init", [12712, 12713, 12714] )
  2. 或者
  3. > db.traceOn( 256, new SdbTraceOption().components( "cls", dms", "mth" ).breakPoints( "_dmsTempSUMgr::init" ).tids( [12712, 12713, 12714] ) )
  • 当被跟踪的模块遇到断点被阻塞,如果想唤醒被跟踪的模块,具体可参考traceResume()
  1. > db.traceResume()
  • 查看当前程序跟踪的状态,具体可参考traceStatus()
  1. > db.traceStatus()
  • 关闭数据库引擎跟踪,并将跟踪情况导出二进制文件: /opt/sequoiadb/trace.dump,具体可参考traceOff()
  1. > db.traceOff("/opt/sequoiadb/trace.dump")
  • 解析二进制文件,具体可参考traceFmt()
  1. > traceFmt( 0, "/opt/sequoiadb/trace.dump", "/opt/sequoiadb/trace.flw" )