Package io.opentelemetry.api.trace
Class SpanContext
- java.lang.Object
-
- io.opentelemetry.api.trace.SpanContext
-
@Immutable public abstract class SpanContext extends Object
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.
-
-
Constructor Summary
Constructors Constructor Description SpanContext()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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
.byte[]
getSpanIdBytes()
Returns the byte[] representation of the span identifier associated with thisSpanContext
.abstract byte
getTraceFlags()
The byte-representation ofTraceFlags
.String
getTraceIdAsHexString()
Returns the trace identifier associated with thisSpanContext
.byte[]
getTraceIdBytes()
Returns the byte[] representation of the trace identifier associated with thisSpanContext
.abstract TraceState
getTraceState()
Returns theTraceState
associated with thisSpanContext
.abstract boolean
isRemote()
Returnstrue
if theSpanContext
was propagated from a remote parent.boolean
isSampled()
Whether the span in this context is sampled.boolean
isValid()
Returnstrue
if thisSpanContext
is valid.
-
-
-
Method Detail
-
getInvalid
public static SpanContext getInvalid()
Returns the invalidSpanContext
that can be used for no-op operations.- Returns:
- the invalid
SpanContext
.
-
create
public 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
public 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
public String getTraceIdAsHexString()
Returns the trace identifier associated with thisSpanContext
.- Returns:
- the trace identifier associated with this
SpanContext
.
-
getTraceIdBytes
@Memoized public byte[] getTraceIdBytes()
Returns the byte[] representation of the trace identifier associated with thisSpanContext
.
-
getSpanIdAsHexString
public String getSpanIdAsHexString()
Returns the span identifier associated with thisSpanContext
.- Returns:
- the span identifier associated with this
SpanContext
.
-
getSpanIdBytes
@Memoized public byte[] getSpanIdBytes()
Returns the byte[] representation of the span identifier associated with thisSpanContext
.
-
isSampled
public boolean isSampled()
Whether the span in this context is sampled.
-
getTraceFlags
public abstract byte getTraceFlags()
The byte-representation ofTraceFlags
.
-
copyTraceFlagsHexTo
public void copyTraceFlagsHexTo(char[] dest, int destOffset)
-
getTraceState
public abstract TraceState getTraceState()
Returns theTraceState
associated with thisSpanContext
.- Returns:
- the
TraceState
associated with thisSpanContext
.
-
isValid
@Memoized public boolean isValid()
Returnstrue
if thisSpanContext
is valid.- Returns:
true
if thisSpanContext
is valid.
-
isRemote
public abstract boolean isRemote()
Returnstrue
if theSpanContext
was propagated from a remote parent.- Returns:
true
if theSpanContext
was propagated from a remote parent.
-
-