Package io.opentelemetry.sdk.trace
Interface ReadableSpan
- All Known Subinterfaces:
ReadWriteSpan
public interface ReadableSpan
SDK representation of a
Span
that can be read.-
Method Summary
Modifier and TypeMethodDescription<T> T
getAttribute
(io.opentelemetry.api.common.AttributeKey<T> key) Returns the value for the givenAttributeKey
, ornull
if not found.io.opentelemetry.sdk.common.InstrumentationLibraryInfo
Deprecated.default io.opentelemetry.sdk.common.InstrumentationScopeInfo
Returns the instrumentation scope specified when creating the tracer which produced this span.io.opentelemetry.api.trace.SpanKind
getKind()
Returns the kind of the span.long
Returns the latency of theSpan
in nanos.getName()
Returns the name of theSpan
.io.opentelemetry.api.trace.SpanContext
Returns the parentSpanContext
of theSpan
, orSpanContext.getInvalid()
if this is a root span.io.opentelemetry.api.trace.SpanContext
Returns theSpanContext
of theSpan
.boolean
hasEnded()
Returns whether this Span has already been ended.This converts this instance into an immutable SpanData instance, for use in export.
-
Method Details
-
getSpanContext
io.opentelemetry.api.trace.SpanContext getSpanContext()Returns theSpanContext
of theSpan
.Equivalent with
Span.getSpanContext()
.- Returns:
- the
SpanContext
of theSpan
.
-
getParentSpanContext
io.opentelemetry.api.trace.SpanContext getParentSpanContext()Returns the parentSpanContext
of theSpan
, orSpanContext.getInvalid()
if this is a root span.- Returns:
- the parent
SpanContext
of theSpan
-
getName
String getName()Returns the name of theSpan
.The name can be changed during the lifetime of the Span by using the
Span.updateName(String)
so this value cannot be cached.Note: the implementation of this method performs locking to ensure thread-safe behavior.
- Returns:
- the name of the
Span
.
-
toSpanData
SpanData toSpanData()This converts this instance into an immutable SpanData instance, for use in export.- Returns:
- an immutable
SpanData
instance.
-
getInstrumentationLibraryInfo
Deprecated.Returns the instrumentation library specified when creating the tracer which produced this span.- Returns:
- an instance of
InstrumentationLibraryInfo
describing the instrumentation library
-
getInstrumentationScopeInfo
default io.opentelemetry.sdk.common.InstrumentationScopeInfo getInstrumentationScopeInfo()Returns the instrumentation scope specified when creating the tracer which produced this span.- Returns:
- an instance of
InstrumentationScopeInfo
describing the instrumentation scope
-
hasEnded
boolean hasEnded()Returns whether this Span has already been ended.Note: the implementation of this method performs locking to ensure thread-safe behavior.
- Returns:
true
if the span has already been ended,false
if not.
-
getLatencyNanos
long getLatencyNanos()Returns the latency of theSpan
in nanos. If still active then returns now() - start time.Note: the implementation of this method performs locking to ensure thread-safe behavior.
- Returns:
- the latency of the
Span
in nanos.
-
getKind
io.opentelemetry.api.trace.SpanKind getKind()Returns the kind of the span.- Returns:
- the kind of the span.
-
getAttribute
Returns the value for the givenAttributeKey
, ornull
if not found.The attribute values can be changed during the lifetime of the Span by using
Span.setAttribute(java.lang.String, java.lang.String)
} so this value cannot be cached.Note: the implementation of this method performs locking to ensure thread-safe behavior.
- Returns:
- the value for the given
AttributeKey
, ornull
if not found.
-
getInstrumentationScopeInfo()
.