Package io.opentelemetry.sdk.trace
Class SpanWrapper
- java.lang.Object
-
- io.opentelemetry.sdk.trace.SpanWrapper
-
- All Implemented Interfaces:
SpanData
- Direct Known Subclasses:
AutoValue_SpanWrapper
@Immutable abstract class SpanWrapper extends java.lang.Object implements SpanData
Immutable class that storesSpanData
based on aSdkSpan
.This class stores a reference to a mutable
SdkSpan
(delegate
) which it uses only the immutable parts from, and a copy of all the mutable parts.When adding a new field to
SdkSpan
, store a copy if and only if the field is mutable in theSdkSpan
. Otherwise retrieve it from the referencedSdkSpan
.
-
-
Constructor Summary
Constructors Constructor Description SpanWrapper()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description (package private) abstract Attributes
attributes()
(package private) static SpanWrapper
create(SdkSpan delegate, java.util.List<LinkData> links, java.util.List<EventData> events, Attributes attributes, int totalAttributeCount, int totalRecordedEvents, int totalRecordedLinks, StatusData status, java.lang.String name, long endEpochNanos, boolean hasEnded)
Note: the collections that are passed into this creator method are assumed to be immutable to preserve the overall immutability of the class.(package private) abstract SdkSpan
delegate()
(package private) abstract long
endEpochNanos()
Attributes
getAttributes()
Returns the attributes recorded for thisSpan
.long
getEndEpochNanos()
Returns the end epoch timestamp in nanos of thisSpan
.java.util.List<EventData>
getEvents()
Returns the timed events recorded for thisSpan
.InstrumentationLibraryInfo
getInstrumentationLibraryInfo()
Deprecated.InstrumentationScopeInfo
getInstrumentationScopeInfo()
Returns the instrumentation scope specified when creating the tracer which produced thisSpan
.SpanKind
getKind()
Returns the kind of thisSpan
.java.util.List<LinkData>
getLinks()
Returns links recorded for thisSpan
.java.lang.String
getName()
Returns the name of thisSpan
.SpanContext
getParentSpanContext()
Returns the parentSpanContext
.Resource
getResource()
Returns the resource of thisSpan
.SpanContext
getSpanContext()
Returns theSpanContext
of the Span.long
getStartEpochNanos()
Returns the start epoch timestamp in nanos of thisSpan
.StatusData
getStatus()
Returns theStatus
.int
getTotalAttributeCount()
The total number of attributes that were recorded on this span.int
getTotalRecordedEvents()
The total number ofEventData
events that were recorded on this span.int
getTotalRecordedLinks()
The total number ofLinkData
links that were recorded on this span.boolean
hasEnded()
Returns whether this Span has already been ended.(package private) abstract boolean
internalHasEnded()
(package private) abstract java.lang.String
name()
(package private) abstract java.util.List<EventData>
resolvedEvents()
(package private) abstract java.util.List<LinkData>
resolvedLinks()
(package private) abstract StatusData
status()
java.lang.String
toString()
(package private) abstract int
totalAttributeCount()
(package private) abstract int
totalRecordedEvents()
(package private) abstract int
totalRecordedLinks()
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface io.opentelemetry.sdk.trace.data.SpanData
getParentSpanId, getSpanId, getTraceId
-
-
-
-
Method Detail
-
delegate
abstract SdkSpan delegate()
-
resolvedLinks
abstract java.util.List<LinkData> resolvedLinks()
-
resolvedEvents
abstract java.util.List<EventData> resolvedEvents()
-
attributes
abstract Attributes attributes()
-
totalAttributeCount
abstract int totalAttributeCount()
-
totalRecordedEvents
abstract int totalRecordedEvents()
-
totalRecordedLinks
abstract int totalRecordedLinks()
-
status
abstract StatusData status()
-
name
abstract java.lang.String name()
-
endEpochNanos
abstract long endEpochNanos()
-
internalHasEnded
abstract boolean internalHasEnded()
-
create
static SpanWrapper create(SdkSpan delegate, java.util.List<LinkData> links, java.util.List<EventData> events, Attributes attributes, int totalAttributeCount, int totalRecordedEvents, int totalRecordedLinks, StatusData status, java.lang.String name, long endEpochNanos, boolean hasEnded)
Note: the collections that are passed into this creator method are assumed to be immutable to preserve the overall immutability of the class.
-
getSpanContext
public SpanContext getSpanContext()
Description copied from interface:SpanData
Returns theSpanContext
of the Span.- Specified by:
getSpanContext
in interfaceSpanData
-
getParentSpanContext
public SpanContext getParentSpanContext()
Description copied from interface:SpanData
Returns the parentSpanContext
. If the span is a root span, theSpanContext
returned will be invalid.- Specified by:
getParentSpanContext
in interfaceSpanData
-
getResource
public Resource getResource()
Description copied from interface:SpanData
Returns the resource of thisSpan
.- Specified by:
getResource
in interfaceSpanData
- Returns:
- the resource of this
Span
.
-
getInstrumentationLibraryInfo
@Deprecated public InstrumentationLibraryInfo getInstrumentationLibraryInfo()
Deprecated.Description copied from interface:SpanData
Returns the instrumentation library specified when creating the tracer which produced thisSpan
.- Specified by:
getInstrumentationLibraryInfo
in interfaceSpanData
- Returns:
- an instance of
InstrumentationLibraryInfo
-
getInstrumentationScopeInfo
public InstrumentationScopeInfo getInstrumentationScopeInfo()
Description copied from interface:SpanData
Returns the instrumentation scope specified when creating the tracer which produced thisSpan
.- Specified by:
getInstrumentationScopeInfo
in interfaceSpanData
- Returns:
- an instance of
InstrumentationScopeInfo
-
getName
public java.lang.String getName()
Description copied from interface:SpanData
Returns the name of thisSpan
.
-
getKind
public SpanKind getKind()
Description copied from interface:SpanData
Returns the kind of thisSpan
.
-
getStartEpochNanos
public long getStartEpochNanos()
Description copied from interface:SpanData
Returns the start epoch timestamp in nanos of thisSpan
.- Specified by:
getStartEpochNanos
in interfaceSpanData
- Returns:
- the start epoch timestamp in nanos of this
Span
.
-
getAttributes
public Attributes getAttributes()
Description copied from interface:SpanData
Returns the attributes recorded for thisSpan
.- Specified by:
getAttributes
in interfaceSpanData
- Returns:
- the attributes recorded for this
Span
.
-
getEvents
public java.util.List<EventData> getEvents()
Description copied from interface:SpanData
Returns the timed events recorded for thisSpan
.
-
getLinks
public java.util.List<LinkData> getLinks()
Description copied from interface:SpanData
Returns links recorded for thisSpan
.
-
getStatus
public StatusData getStatus()
Description copied from interface:SpanData
Returns theStatus
.
-
getEndEpochNanos
public long getEndEpochNanos()
Description copied from interface:SpanData
Returns the end epoch timestamp in nanos of thisSpan
.- Specified by:
getEndEpochNanos
in interfaceSpanData
- Returns:
- the end epoch timestamp in nanos of this
Span
.
-
hasEnded
public boolean hasEnded()
Description copied from interface:SpanData
Returns whether this Span has already been ended.
-
getTotalRecordedEvents
public int getTotalRecordedEvents()
Description copied from interface:SpanData
The total number ofEventData
events that were recorded on this span. This number may be larger than the number of events that are attached to this span, if the total number recorded was greater than the configured maximum value. See:SpanLimits.getMaxNumberOfEvents()
- Specified by:
getTotalRecordedEvents
in interfaceSpanData
- Returns:
- The total number of events recorded on this span.
-
getTotalRecordedLinks
public int getTotalRecordedLinks()
Description copied from interface:SpanData
The total number ofLinkData
links that were recorded on this span. This number may be larger than the number of links that are attached to this span, if the total number recorded was greater than the configured maximum value. See:SpanLimits.getMaxNumberOfLinks()
- Specified by:
getTotalRecordedLinks
in interfaceSpanData
- Returns:
- The total number of links recorded on this span.
-
getTotalAttributeCount
public int getTotalAttributeCount()
Description copied from interface:SpanData
The total number of attributes that were recorded on this span. This number may be larger than the number of attributes that are attached to this span, if the total number recorded was greater than the configured maximum value. See:SpanLimits.getMaxNumberOfAttributes()
- Specified by:
getTotalAttributeCount
in interfaceSpanData
- Returns:
- The total number of attributes on this span.
-
toString
public final java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-