《表2 不同请求事件提取技术的优缺点》

《表2 不同请求事件提取技术的优缺点》   提示:宽带有限、当前游客访问压缩模式
本系列图表出处文件名:随高清版一同展现
《分布式追踪技术综述》


  1. 获取 高清版本忘记账户?点击这里登录
  1. 下载图表忘记账户?点击这里登录

表2总结了不同请求事件提取技术的优缺点.基于请求标识的请求事件提取相比于基于统计推断的请求事件提取,其准确性较高,提取效率也较高,且不需要大量的历史数据或源代码进行离线训练,缺点是依赖追踪数据中的请求ID,或者需要在基于代码侵入获取追踪数据时控制请求ID的生成与传播,或者需要在开发阶段向日志中添加此类ID.基于请求全局ID的方法适用于分布式软件系统会自动地为每个请求产生一个ID并随请求的处理而对请求的ID进行传播的情况;基于请求局部ID的方法适用于分布式软件系统对请求在局部的处理过程中会产生一个局部的ID且不同的局部ID之间可以建立关联关系的情况.基于统计推断的请求事件提取不要求追踪数据中含有请求的ID,但其依赖于特定的假设,如假设同一请求的事件存在时间序列上的模式或者特定的关联规则.当该假设在某些分布式软件系统中不成立时,则无法提取出属于同一请求的所有事件,且通常无法准确提取一个请求的所有事件.基于运行时数据分析的方法适用于不存在请求全局ID或者局部ID且对请求事件提取的准确率要求不高的情况;基于静态代码分析的方法适用于分布式软件系统的源代码可控且网络通信较少的情况.基于因果关系的请求事件提取方法,其优点依赖于因果关系判断技术,在存在大量并发请求的分布式软件系统中,需要判断所有请求的任意两个事件之间的因果关系,其提取的效率会相对较低,适用于对事件提取效率与准确率要求不高的情况.相比于局部ID,全局ID对追踪数据获取技术的要求更高,需要在侵入不同软件堆栈时产生并控制请求的全局ID的传播;或者在开发过程中,添加支持分布式追踪的代码,控制请求ID的生成与传播,并在日志中添加请求的全局ID.基于静态代码分析的劣势在于其无法关联同一请求中通过网络交互产生的因果相关的事件,且需要访问源代码,但其对于不跨网络的请求事件(特指日志事件)的提取准确性很高.不同的请求事件提取技术也可以进行组合使用.