trace原理
trace 包括两部分:收集跟踪日志和解析跟踪日志。
-
- 调用的函数,调用函数时的时间点和所在源文件的行号,可能还包括调用函数时传入的参数值
trace 模块将上述信息组织成二进制格式写入内存中,直到停止 trace 跟踪,才将上述内存中的信息导出为二进制文件。
trace 解析跟踪日志,是对导出的二进制文件进行格式化及初步分析输出分析文件的过程。它的输出包括:函数调用流程文件、函数的执行时间分析文件、执行时间峰值分析输出文件、记录错误信息的文件和版本文件。
- 函数调用流程文件记录的是跟踪过程中函数之间的调用关系
- 执行时间峰值分析输出文件记录的是函数调用耗时超过阀值的函数调用信息
- 记录错误信息的文件记录的是解析过程中碰到的不能识别的日志条目
- 版本文件记录的是对应引擎的版本号