skywalking是一个链路追踪分析系统,首先需要有数据来源,既可以是分布式系统中的各个服务为节点上报,也可以是服务内部各个函数来上报,它对于JAVA的支持非常完善,不用埋点,完全无侵入,自动捕获常用的指标比如 http, rpc, mysql, redis 等调用。对于其他语言可能兼容的就没那么好,需要手动埋点,有一定的侵入。
OpenTracing
这是一个关于分布式链路追踪的标准,有了标准才有更好的通用性。
Trace
每一个请求链条都是一个Trace,它有一个唯一的TraceId,比如
client --> A --> B --> C
Span
跨度,可以理解为一个调用,一个 Trace 会有多个跨度,A调用B为一个Span,B调用C为一个Span。
Tag
Tag是Span的附加信息,一个Tag为一个键值对,用于自定义信息的补充。
Log
Log是Span的附加信息,Log有Info级别和Error级别,一个Log包含时间和内容两个元素。
点击每一个Span会出来Span的信息。
如果有Log信息,也会列出来。
它们之间的关系可以表示为: