Spring Cloud Sleuth是为Spring Cloud实现了分布式追踪解决方案。
Spring Cloud Sleuth借用了Dapper的术语:
跨度(Span):基本的工作单位。例如,发送一个RPC是一个新的跨度,就像向RPC发送响应一样。跨度由跨度的唯一64位ID和跨度所包含的另一个 64位ID标识。Spans还具有其他数据,例如描述,时间戳事件,键值注释(标记),导致它们的跨度的ID以及进程ID(通常为IP地址)。
跨度启动和停止,并跟踪他们的时间信息。一旦你创建了一个跨度,你必须在将来某个时候停止它。
开始追踪的初始跨度被称为 root span。该跨度的span id的值等于trace id。
痕迹(Trace):一组形成树状结构的跨度。例如,如果您正在运行分布式大数据存储,则跟踪可能由放入请求组成。
标注(Annotation):用于及时记录事件的存在。用于定义请求开始和结束的一些核心注释是:
-
cs - 客户端发送 - 客户端发出请求。这个注释描述了跨度的开始。
-
sr - 服务器已收到 - 服务器端收到请求并开始处理。如果从这个时间戳中减去cs时间戳,将会收到网络延迟。
-
ss - 服务器发送 - 在请求处理