分布式追踪术语
在讨论和说明分布式追踪的过程中,使用了许多术语。这些术语中的许多是标准的 OpenTelemetry 术语;详情请参阅 https://opentelemetry.io/docs/concepts/。
追踪消息(Trace Message)
由事件代理发布的保证消息,包含 Solace Open Telemetry 接收器转换为一个或多个 跨度(spans) 的数据。
追踪(Trace)
包含相同追踪 ID 的 跨度(spans) 集合。同一追踪内的跨度通过 ParentSpanID 链接相互关联。
跨度(Span)
在 追踪(trace) 中的单个操作。跨度可以嵌套形成追踪树。每个追踪包含一个根跨度(通常描述整个操作)以及可选的,一个或多个子操作的子跨度。
跨度包括以下信息:
- 跨度名称
- 唯一标识跨度的追踪 ID 和跨度 ID
- 父跨度 ID
- 跨度种类(SpanKind)
- 开始时间戳
- 结束时间戳
- 属性
- 链接到其他跨度的列表
- 带时间戳的事件列表
- 状态
发送跨度(Send Spans)是事件代理生成的跨度,记录尝试传递消息的结果。接收跨度(Receive Spans)是事件代理在接收并持久化消息时生成的跨度。
跨度上下文(SpanContext)
在事件消息中携带的信息,允许跨度相互关联。SpanContext 中的一些或全部信息可能在创建跨度(即追踪消息)时被复制到跨度中。SpanContexts 是不可变的。SpanContext 包含多个字段,包括追踪 ID 和跨度 ID。有关分布式追踪的上下文传播,请参阅上下文传播。
追踪 ID(TraceID)
追踪的标识符。追踪 ID 由 16 个随机生成的字节组成,因此实际上是全局唯一的。追踪 ID 用于将所有进程中特定追踪的所有跨度组合在一起。
跨度 ID(SpanID)
跨度的标识符。当传递给子跨度时,此标识符成为子跨度的父跨度 ID。
遥测队列(Telemetry Queue)
仅用于遥测消息的特殊队列。每个消息 VPN 最多可以有一个遥测队列。
接收器(Receiver)
绑定到遥测队列并消费追踪消息的客户端。有关 Solace Open Telemetry 接收器,请参阅 Solace Open Telemetry 接收器。