• SdbTraceOption
    • 语法
    • 方法
      • components(<component>)
      • breakPoints(<breakPoint>)
      • tids(<tid>)
      • functionNames(<functionName>)
      • threadTypes(<threadType>)
    • 返回值
    • 错误
    • 示例

    SdbTraceOption

    指定 traceOn 监控参数。

    包括指定模块、断点、线程号、函数以及线程类型等参数。

    语法

    SdbTraceOption() [.components( <component1> [,component2…] )]         [.breakPoints( <breakPoint1> [,breakPoint2…] )]         [.tids( <tid1> [,tid2…] )]         [.functionNames( <functionName1> [,functionName2…] )]         [.threadTypes( <threadType1> [,threadType2…] )]

    SdbTraceOption() [.components( [ <component1>, <component2>, … ] )]         [.breakPoints( [ <breakPoint1>, <breakPoint2>, … ] )]         [ .tids( [ <tid1>, <tid2>, … ] )]         [.functionNames( [ <functionName1>, <functionName2>, … ] )]         [.threadTypes( [ <threadType1>, <threadType2>, … ] )]

    方法

    components(<component>)

    模块方法

    参数名参数类型默认值描述是否必填
    conponentstring / string array所有模块指定模块

    conponent 参数的可选值如下表:

    可选值描述
    authAuthentication
    bpsBufferPool Services
    catCatalog Services
    clsCluster Services
    dpsData Protection Services
    migMigration Services
    msgMessaging Services
    netNetwork Services
    ossOperating System Services
    pdProblem Determination
    rtnRunTime
    sqlSQL Parser
    toolsTools
    barBackup And Recovery
    clientClient
    coordCoord Services
    dmsData Management Services
    ixmIndex Management Services
    monMonitoring Services
    mthMethods Services
    optOptimizer
    pmdProcess Model
    restRESTful Services
    sptScripting
    utilUtilities

    breakPoints(<breakPoint>)

    断点方法

    参数名参数类型默认值描述是否必填
    breakPointstring / string array—-于函数处打断点进行跟踪

    tids(<tid>)

    线程方法

    参数名参数类型默认值描述是否必填
    tidint / int array所有线程指定线程

    functionNames(<functionName>)

    函数方法

    参数名参数类型默认值描述是否必填
    functionNamestring / string array—-指定函数名

    threadTypes(<threadType>)

    线程类型方法

    参数名参数类型默认值描述是否必填
    threadTypestring / string array—-指定线类型

    threadType 参数的可选值详见线程类型

    Note:

    1. SdbTraceOption 可同时连续指定多个方法,其中模块方法的参数和函数方法的参数是并集关系,线程类型方法的参数和线程方法的参数也是并集关系;

    2. 当同时不指定 components 方法和 functionNames 方法,默认监控所有模块,但是如果指定 functionNames 方法,不指定 components 方法,则监控指定的函数;

    3. 以上各个方法中的参数最多只能指定 10 个参数。

    返回值

    返回自身,类型为 SdbTraceOption。

    错误

    常见错误可参考错误码

    示例

    • 开启监控程序
    1. > db = new Sdb( "localhost", 50000 )
    2. > var option = new SdbTraceOption().components( "dms", "rtn" ).breakPoints( "_coordCMDEval::execute", "_dmsStorageUnit::insertRecord" ).tids( [ 15923, 35712 ] ).threadTypes( "RestListener", "LogWriter" ).functionNames( "_coordCMDEval::execute", "_dmsStorageUnit::insertRecord" )
    3. > db.traceOn( 1000, option )
    • 以上 SdbTraceOption 各个方法的参数还可以以字符串数组的形式给出
    1. > db = new Sdb( "localhost", 50000 )
    2. > var option = new SdbTraceOption().components( [ "dms", "rtn" ] ).breakPoints( [ "_coordCMDEval::execute", "_dmsStorageUnit::insertRecord" ] ).tids( [ 15923, 35712 ] ).threadTypes( [ "RestListener", "LogWriter" ] ).functionNames( [ "_coordCMDEval::execute", "_dmsStorageUnit::insertRecord" ] )
    3. > db.traceOn( 1000, option )
    • 对于方法中存在多个参数的情况,可以通过多次调用该方法指定参数
    1. > db = new Sdb( "localhost", 50000 )
    2. > var option = new SdbTraceOption().components( [ "dms", "rtn" ] ).components( [ "dps", "cls" ] ).components( "pd" )
    3. > db.traceOn( 1000, option )