Package io.opentelemetry.api.trace
Interface SpanContext
-
@Immutable public interface SpanContext
A class that represents a span context. A span context contains the state that must propagate to childSpan
s and across process boundaries. It contains the identifiers (atrace_id
andspan_id
) associated with theSpan
and a set of options (currently only whether the context is sampled or not), as well as thetraceState
and theremote
flag.Implementations of this interface *must* be immutable and have well-defined value-based equals/hashCode implementations. If an implementation does not strictly conform to these requirements, behavior of the OpenTelemetry APIs and default SDK cannot be guaranteed. It is strongly suggested that you use the implementation that is provided here via
create(String, String, byte, TraceState)
orcreateFromRemoteParent(String, String, byte, TraceState)
.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default void
copyTraceFlagsHexTo(char[] dest, int destOffset)
static SpanContext
create(String traceIdHex, String spanIdHex, byte traceFlags, TraceState traceState)
Creates a newSpanContext
with the given identifiers and options.static SpanContext
createFromRemoteParent(String traceIdHex, String spanIdHex, byte traceFlags, TraceState traceState)
Creates a newSpanContext
that was propagated from a remote parent, with the given identifiers and options.static SpanContext
getInvalid()
Returns the invalidSpanContext
that can be used for no-op operations.String
getSpanIdAsHexString()
Returns the span identifier associated with thisSpanContext
.default byte[]
getSpanIdBytes()
Returns the byte[] representation of the span identifier associated with thisSpanContext
.byte
getTraceFlags()
The byte-representation ofTraceFlags
.String
getTraceIdAsHexString()
Returns the trace identifier associated with thisSpanContext
.default byte[]
getTraceIdBytes()
Returns the byte[] representation of the trace identifier associated with thisSpanContext
.TraceState
getTraceState()
Returns theTraceState
associated with thisSpanContext
.boolean
isRemote()
Returnstrue
if theSpanContext
was propagated from a remote parent.default boolean
isSampled()
Whether the span in this context is sampled.default boolean
isValid()
Returnstrue
if thisSpanContext
is valid.
-
-
-
Method Detail
-
getInvalid
static SpanContext getInvalid()
Returns the invalidSpanContext
that can be used for no-op operations.- Returns:
- the invalid
SpanContext
.
-
create
static SpanContext create(String traceIdHex, String spanIdHex, byte traceFlags, TraceState traceState)
Creates a newSpanContext
with the given identifiers and options.- Parameters:
traceIdHex
- the trace identifier of the span context.spanIdHex
- the span identifier of the span context.traceFlags
- the byte representation of theTraceFlags
traceState
- the trace state for the span context.- Returns:
- a new
SpanContext
with the given identifiers and options.
-
createFromRemoteParent
static SpanContext createFromRemoteParent(String traceIdHex, String spanIdHex, byte traceFlags, TraceState traceState)
Creates a newSpanContext
that was propagated from a remote parent, with the given identifiers and options.- Parameters:
traceIdHex
- the trace identifier of the span context.spanIdHex
- the span identifier of the span context.traceFlags
- the byte representation of theTraceFlags
traceState
- the trace state for the span context.- Returns:
- a new
SpanContext
with the given identifiers and options.
-
getTraceIdAsHexString
String getTraceIdAsHexString()
Returns the trace identifier associated with thisSpanContext
.- Returns:
- the trace identifier associated with this
SpanContext
.
-
getTraceIdBytes
default byte[] getTraceIdBytes()
Returns the byte[] representation of the trace identifier associated with thisSpanContext
.
-
getSpanIdAsHexString
String getSpanIdAsHexString()
Returns the span identifier associated with thisSpanContext
.- Returns:
- the span identifier associated with this
SpanContext
.
-
getSpanIdBytes
default byte[] getSpanIdBytes()
Returns the byte[] representation of the span identifier associated with thisSpanContext
.
-
isSampled
default boolean isSampled()
Whether the span in this context is sampled.
-
getTraceFlags
byte getTraceFlags()
The byte-representation ofTraceFlags
.
-
copyTraceFlagsHexTo
default void copyTraceFlagsHexTo(char[] dest, int destOffset)
-
getTraceState
TraceState getTraceState()
Returns theTraceState
associated with thisSpanContext
.- Returns:
- the
TraceState
associated with thisSpanContext
.
-
isValid
default boolean isValid()
Returnstrue
if thisSpanContext
is valid.- Returns:
true
if thisSpanContext
is valid.
-
isRemote
boolean isRemote()
Returnstrue
if theSpanContext
was propagated from a remote parent.- Returns:
true
if theSpanContext
was propagated from a remote parent.
-
-