You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Per definition of Span.flags and Link.flag which are the same, I am confused what value to use and where.
For Span:
// Flags, a bit field.
//
// Bits 0-7 (8 least significant bits) are the trace flags as defined in W3C Trace
// Context specification. To read the 8-bit W3C trace flag, use
// `flags & SPAN_FLAGS_TRACE_FLAGS_MASK`.
//
// See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions.
//
// Bits 8 and 9 represent the 3 states of whether a span's parent
// is remote. The states are (unknown, is not remote, is remote).
// To read whether the value is known, use `(flags & SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0`.
// To read whether the span is remote, use `(flags & SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) != 0`.
//
// When creating span messages, if the message is logically forwarded from another source
// with an equivalent flags fields (i.e., usually another OTLP span message), the field SHOULD
// be copied as-is. If creating from a source that does not have an equivalent flags field
// (such as a runtime representation of an OpenTelemetry span), the high 22 bits MUST
// be set to zero.
// Readers MUST NOT assume that bits 10-31 (22 most significant bits) will be zero.
For Link:
// Flags, a bit field.
//
// Bits 0-7 (8 least significant bits) are the trace flags as defined in W3C Trace
// Context specification. To read the 8-bit W3C trace flag, use
// `flags & SPAN_FLAGS_TRACE_FLAGS_MASK`.
//
// See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions.
//
// Bits 8 and 9 represent the 3 states of whether the link is remote.
// The states are (unknown, is not remote, is remote).
// To read whether the value is known, use `(flags & SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0`.
// To read whether the link is remote, use `(flags & SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) != 0`.
//
// Readers MUST NOT assume that bits 10-31 (22 most significant bits) will be zero.
// When creating new spans, bits 10-31 (most-significant 22-bits) MUST be zero.
//
// [Optional].
Is it true that for the Span.flag we expect the Bits 0-7 to be the TraceFlags of the current Span (not the parent), but the remote property is for the parent. For the Link.flag we expect the Bits 0-7 to be the TraceFlags of the linked SpanContext as well as the remote property. The confusion I have is that where do we have the Span parent's SpanContext TraceFlags? If they are important for links why not having them for parent (which is in some way a more special link)?
The text was updated successfully, but these errors were encountered:
Per definition of Span.flags and Link.flag which are the same, I am confused what value to use and where.
For Span:
For Link:
Is it true that for the Span.flag we expect the
Bits 0-7
to be the TraceFlags of the current Span (not the parent), but the remote property is for the parent. For the Link.flag we expect theBits 0-7
to be the TraceFlags of the linked SpanContext as well as the remote property. The confusion I have is that where do we have the Span parent's SpanContext TraceFlags? If they are important for links why not having them for parent (which is in some way a more special link)?The text was updated successfully, but these errors were encountered: