Distributed Tracing Terminology

The following terms are used throughout the discussions and instructions for distributed tracing. Many of these are standard OpenTelemetry terms; see https://opentelemetry.io/docs/concepts/ for details.

Trace Message

A guaranteed message published by an event broker, containing data that the Solace OpenTelemetry Receiver converts into one or more spans.

Trace

A collection of spans containing the same trace ID. Spans within the same trace are linked to each other via ParentSpanID links.

Span

A single operation within a trace. Spans can be nested to form a trace tree. Each trace contains a root span (which typically describes the entire operation) and, optionally, one or more sub-spans for its sub-operations.
Spans include the following information:

  • The span name
  • A TraceID and SpanID that uniquely identify the span
  • A ParentSpanID
  • A SpanKind
  • A start timestamp
  • An end timestamp
  • Attributes
  • A list of links to other spans
  • A list of timestamped events
  • A status

Send Spans are spans that the event broker generates to record the outcome of an attempt to deliver a message. Receive Spans are spans that the event broker generates when it receives and persists a message.

SpanContext

Information carried in an event message that allows spans to be correlated with each other. Some or all of the information in the SpanContext may be copied to the span (that is, the trace message) when it is created. SpanContexts are immutable. A SpanContext contains a number of fields, including the TraceID and SpanID. See Context Propagation for Distributed Tracing.

TraceID

The identifier for a trace. The TraceID consists of 16 randomly generated bytes, and therefore is effectively globally unique. The TraceID is used to group together all spans for a specific trace across all processes.

SpanID

The identifier for a span. When passed to a child span this identifier becomes the ParentSpanID for the child span.

Telemetry Queue

A special-purpose queue that is used only for telemetry messages. There can be at most one telemetry queue per message VPN.

Receiver

A client that binds to the telemetry queue and consumes trace messages. See Solace OpenTelemetry Receiver.