《表1 不同追踪数据获取技术的优缺点》

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


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

表1总结了不同追踪数据获取技术的优缺点.基于代码侵入的追踪数据获取技术具有追踪内容可自定义、可灵活设置追踪点的优点,即产生什么类型的数据以及在什么位置产生追踪数据乃至于产生的追踪数据的内容是什么都可以进行控制.其缺点则在于需要人工修改相应软件堆栈的代码,且会引入一定的额外的系统开销.侵入分布式软件系统的方法适用于分布式软件系统的源代码可控且对源码比较了解,且不需要考虑后续通用性的情况;侵入运行时环境的方法和侵入公共链接库的方法适用于需要考虑分布式追踪技术的通用性,且被追踪的分布式软件系统具有相同的运行时环境或公共链接库的情况;侵入操作系统内核接口的方法适用于对分布式软件系统的运行环境具有完全的控制(Root权限),且需要分布式追踪技术具有较高的通用性的情况.而基于数据收集的技术具有无额外系统开销、无需任何代码修改的优点,但其缺点也很明显,其可用的数据局限于开发人员在开发时的主观选择或者一些常用的监控指标,如CPU/内存/磁盘的利用率等.收集分布式软件系统日志的方法适用于无法修改或难以修改分布式软件系统的源码且软件系统有大量日志输出的情况;收集操作系统内核事件日志的方法适用于运行层次较低的分布式软件系统.在基于代码入侵的技术中,随着软件堆栈层次的不断降低,追踪数据内容的可定制性会降低,其通用性会不断增强,但上层应用的信息也越来越少.如直接侵入分布式软件系统代码可以获取丰富的上层应用(分布式软件系统)的信息,但侵入操作系统内核接口则难以获取上层应用的信息.相比于操作系统的内核数据结构,分布式软件系统的日志含有更丰富的与上层应用相关的信息,但其数量较少.内核事件的数量较多,但缺乏上层应用信息,难以理解.