open tracing

2019-07-11  本文已影响0人  邪恶的奥伯伦

vendor neutral
trace 调用链

每一个Span 都包含Span Tag, Span Log, SpanContext, References

Span Tag:
一组键值对构成的 Span 标签集合。键值对中,键必须为 string,值可以是字符串,布尔,或者数字类型。

Span Log,一组 span 的日志集合。
每次 log 操作包含一个键值对,以及一个时间戳。

SpanContext:
1.任何一个 OpenTracing 的实现,都需要将当前调用链的状态(例如:trace 和 span 的 id),依赖一个独特的 Span 去跨进程边界传输
2.Baggage Items,Trace 的随行数据,是一个键值对集合,它存在于 trace 中,也需要跨进程边界传输

References(Span间关系):
相关的零个或者多个 Span(Span 间通过 SpanContext 建立这种关系)

Open Tracing是一个统一的标准, 对open tracing的实现最流行的有两个, Jaeger, Zipkin
Jaeger from Uber
Zipkin 不确定是否支持open tracing 可能低版本最开始没用open tracing标准

https://yq.aliyun.com/articles/514488

Uber RPC 框架 TChannel

we should mention the benefits of distributed tracing:
out of the box infrastructure overview: how the interactions between services are done and their dependencies
efficient and fast detection of latency issues
intelligent error reporting: Span transport error messages and stack traces. We can take advantage of that insight to identify root cause factors or cascading failures
trace data can be forwarded to log processing platforms for query and analysis.

上一篇下一篇

猜你喜欢

热点阅读