Adrian Cole,Spencer Gibb,Marcin Grzejszczak,Dave Syer
Dalston.RELEASE
Spring Cloud Sleuth为Spring Cloud实现分布式跟踪解决方案。
术语
Spring Cloud Sleuth借用了Dapper的术语。
Span:工作的基本单位例如,发送RPC是一个新的跨度,以及向RPC发送响应。Span由跨度的唯一64位ID标识,跨度是其中一部分的跟踪的另一个64位ID。跨度还具有其他数据,例如描述,时间戳记事件,键值注释(标签),导致它们的跨度的ID以及进程ID(通常是IP地址)。
跨距开始和停止,他们跟踪他们的时间信息。创建跨度后,必须在将来的某个时刻停止。
提示启动跟踪的初始范围称为root span。该跨度的跨度id的值等于跟踪ID。
跟踪:一组spans形成树状结构。例如,如果您正在运行分布式大数据存储,则可能会由put请求形成跟踪。
注释:用于及时记录事件的存在。用于定义请求的开始和停止的一些核心注释是:
cs- 客户端发送 - 客户端已经发出请求。此注释描绘了跨度的开始。
sr- 服务器接收 - 服务器端得到请求,并将开始处理它。如果从此时间戳中减去cs时间戳,则会收到网络延迟。
ss- 服务器发送 - 在完成请求处理后(响应发送回客户端时)注释。如果从此时间戳中减去sr时间戳,则会收到服务器端处理请求所需的时间。
cr- 客户端接收 - 表示跨度的结束。客户端已成功接收到服务器端的响应。如果从此时间戳中减去cs时间戳,则会收到客户端从服务器接收响应所需的整个时间。
可视化Span和Trace将与Zipkin注释一起查看系统:
一个音符的每个颜色表示跨度(7 spans - 从A到G)。如果您在笔记中有这样的信息:
Trace Id = X
Span Id = D
Client Sent
这意味着,当前的跨度痕量-ID设置为X,Span -编号设置为ð。它也发出了客户端发送的事件。
这样,spans的父/子关系的可视化将如下所示:
网友评论