《表3 不同因果关系判断技术的优缺点》
表3总结了不同因果关系判断技术的优缺点.基于规则的事件因果关系判断技术其效率更高,不需要训练阶段,且计算量少,直接根据规则即可判断事件之间的因果关系.而基于统计推断的事件因果关系判断方法的优点在于不需要在追踪数据中存在父子事件ID,多用于基于分布式软件系统的日志构建请求执行路径的方法.基于父子事件ID来判断请求当中的事件的因果关系是效率最高且最准确的方法,但其前提是需要对分布式软件系统的软件堆栈的不同层次进行代码侵入,并在请求执行过程中传播父事件与子事件的ID,以及两个ID之间的父子关系,仅适用于每个事件中都存在其父事件或子事件ID的情况.基于时间戳的事件因果关系判断提取效率也比较高,其主要缺陷在于无法判断因多线程编程导致的并行与同步问题造成的事件之间的多依赖关系,即一个事件可能有多个父事件或者子事件,而根据时间戳的大小判断事件因果关系无法抓取到这种多依赖关系,适用于不同节点之间的时钟相对同步且对因果关系判断的准确率要求较低的情况.基于数据读写依赖的方法仅适用于判断数据读取事件与数据写入事件之间的因果关系的情况.基于运行时数据分析的方法适用于对请求事件提取的准确率要求不高的情况.基于静态代码分析的事件因果关系判断方法不受节点间时间不同步问题的影响,但这种方法基本无法处理因网络通信造成的不同节点上的事件之间的因果关系,适用于分布式软件系统源代码可控且网络通信较少的情况.在一种分布式追踪技术中可能同时会使用几种不同的因果关系判断方法来提高因果关系判断的准确性.如文献[1]使用时间戳判断同一线程内的事件的因果关系,同时使用父子事件ID判断网络消息的发送与接收事件的因果关系.
图表编号 | XD00168938100 严禁用于非法目的 |
---|---|
绘制时间 | 2020.07.01 |
作者 | 杨勇、李影、吴中海 |
绘制单位 | 北京大学软件与微电子学院、北京大学软件工程国家工程研究中心、北京大学软件与微电子学院、北京大学软件工程国家工程研究中心、北京大学软件与微电子学院、北京大学软件工程国家工程研究中心 |
更多格式 | 高清、无水印(增值服务) |