%% Ignore Msg Hole Name -define(eTpfHole, '$eTpfHole'). %% 消息截取默认配置项 -define(defTcmMap, #{ tcmIsCut => false , tcmDepth => 5 , tcmListSize => 32 , tcmMapSize => 32 , tcmTupleSize => 32 , tcmBinSize => 128 , tcmBitSize => 128 * 8 , tcmNestStruct => 6 }). -define(eTpfTracerId, eTpfTracerId). %% 类型声明 -export_type([input/0, userInput/0, traceOpts/0, tracerOpts/0]). -type pattern() :: module() | {app, atom()} | {callback, module(), atom()}. -type scope() :: {scope, [pid() | port() | all | processes | ports |existing | existing_processes | existing_ports |new | new_processes | new_ports]}. -type input() :: [pattern() | scope()]. -type userInput() :: pattern() | input(). -type traceOpts() :: #{ mode => trace | profile , tracerId => any() , send => boolean() , running => boolean() , process_dump => boolean() %% 必需的trace选项 为了生成火焰图,我们目前在跟踪时需要使用一个附加选项。此选项将导致将堆栈跟踪信息添加到调用事件。选项为`process_dump`, 并且必须将其设置为`true`。 }. -type tracerOpts() :: #{ %% tracer for socket port => pos_integer() %% tracer for file , fDir => string() %% 文件目录 , fBaseName => string() %% 文件base file name , fMaxSize => pos_integer() %% 最大的文件字节数 , fMaxLog => pos_integer() %% 最大日志数量 , fMaxMsg => pos_integer() %% 最大消息数量 %% tracer for console %% trace msg term cut cfg , tcmIsCut => boolean() %% 是否cut trace msg term , tcmDepth => pos_integer() %% term cut时保留的最大深度 , tcmListSize => pos_integer() %% List term cut时保留的最大数量 , tcmMapSize => pos_integer() %% Map term cut时保留的最大数量 , tcmTupleSize => pos_integer() %% Tuple term cut时保留的最大数量 , tcmBinSize => pos_integer() %% Bin term cut时保留的最大字节数 , tcmBitSize => pos_integer() %% Bits term cut时保留的最大bit数 , tcmNestStruct => pos_integer() %% 复合结构 term cut时保留的最大数量 }.