dapper 是google 2010年发布的 一个大规模分布式系统的追踪设施的文章
文中举了个例子,在搜索引擎中会把查询分发个各个不同功能的部分,
那么如果没有分布式追踪工具的时候,其中任意一个子系统如果速度不理想,
都会影响最终的速度,然而你并不能定位是哪个子系统是罪魁祸首
设计原则:
1.低开销 (适应性的采样率来降低开销)
2.对应用透明
3.可扩展
主要是几个点
traceid (全局唯一)
span (从traceid分裂,span和span和父子或者兄弟关系)
annotations (用于记录debug信息)
文中说到,通过
1 对traceid 做一个运算,看是否在0和1之间,在中间就进行采样,否则丢弃
2 加一个 write rate 做为二级采样系数
来优化开销
开源的go实现有jaeger,appdash,opentracing-go,opencensus-go