traceStatus - 查看当前程序跟踪的状态
db.traceStatus()
Sdb
开启数据库引擎跟踪功能后,用户可使用该函数查看当前程序跟踪的状态。
无
函数执行成功时,将通过游标(cursor)方式返回当前程序跟踪状态,返回的字段信息如下:
| 参数名 | 类型 | 描述 |
|---|---|---|
| TraceStarted | boolean | 跟踪是否开始 "true":跟踪开始 "false":跟踪未开始 |
| Wrapped | boolean | 跟踪内存是否翻转 "true":已翻转 "false":未翻转 |
| Size | int64 | 跟踪内存总大小 |
| FreeSize | int64 | 可用内存大小 |
| Mask | string array | 所跟踪的模块,模块说明可参考 SdbTraceOption 的 conponent 参数 |
| BreakPoint | string array | 所跟踪的函数断点 |
| Threads | int32 array | 线程号 |
| ThreadTypes | string array | 线程类型,类型说明可参考 SdbTraceOption 的 threadTypes 参数 |
| FunctionNames | string array | 所跟踪的函数名 |
| BreakPointRuns | object array | 断点的运行信息 |
| 参数名 | 类型 | 描述 |
|---|---|---|
| TID | int32 | 线程ID |
| BreakPoint | string | 所在断点的函数 |
| Time | string | 进入断点的时间 |
函数执行失败时,将抛出异常并输出错误信息。
当异常抛出时,可以通过 getLastErrMsg() 获取错误信息或通过 getLastError() 获取错误码。更多错误处理可以参考常见错误处理指南。
v2.0 及以上版本
开启数据库引擎程序跟踪的功能
> db.traceOn( 100, new SdbTraceOption().components( "dms" ).functionNames( "_dmsStorageUnit::insertRecord" ).threadTypes( "RestListener" ) )
查看当前程序跟踪的状态:
> db.traceStatus()
{
"TraceStarted": true,
"Wrapped": false,
"Size": 104857600,
"FreeSize": 104857600,
"PadSize": 0,
"Mask": [
"dms"
],
"BreakPoint": [],
"Threads": [],
"ThreadTypes": [
"RestListener"
],
"FunctionNames": [
"_dmsStorageUnit::insertRecord"
],
"BreakPointRuns": []
}