public abstract class DelegatingSpanData
extends java.lang.Object
implements io.opentelemetry.sdk.trace.data.SpanData
SpanData
which delegates all methods to another SpanData
. Extend this class to
modify the SpanData
that will be exported, for example by creating a delegating SpanExporter
which wraps SpanData
with a custom
implementation.
SpanDataWithClientType extends DelegatingSpanData {
private final ReadableAttributes attributes;
SpanDataWithClientType(SpanData delegate) {
super(delegate);
String clientType = ClientConfig.parseUserAgent(
delegate.getAttributes().get(SemanticAttributes.HTTP_USER_AGENT).getStringValue());
Attributes.Builder newAttributes = Attributes.newBuilder(delegate.getAttributes());
newAttributes.setAttribute("client_type", clientType);
attributes = newAttributes.build();
}
{@literal @}Override
public ReadableAttributes getAttributes() {
return attributes;
}
}
Modifier | Constructor and Description |
---|---|
protected |
DelegatingSpanData(io.opentelemetry.sdk.trace.data.SpanData delegate) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o) |
io.opentelemetry.common.ReadableAttributes |
getAttributes() |
long |
getEndEpochNanos() |
java.util.List<io.opentelemetry.sdk.trace.data.SpanData.Event> |
getEvents() |
boolean |
getHasEnded() |
boolean |
getHasRemoteParent() |
io.opentelemetry.sdk.common.InstrumentationLibraryInfo |
getInstrumentationLibraryInfo() |
io.opentelemetry.trace.Span.Kind |
getKind() |
java.util.List<io.opentelemetry.sdk.trace.data.SpanData.Link> |
getLinks() |
java.lang.String |
getName() |
java.lang.String |
getParentSpanId() |
io.opentelemetry.sdk.resources.Resource |
getResource() |
java.lang.String |
getSpanId() |
long |
getStartEpochNanos() |
io.opentelemetry.sdk.trace.data.SpanData.Status |
getStatus() |
int |
getTotalAttributeCount() |
int |
getTotalRecordedEvents() |
int |
getTotalRecordedLinks() |
java.lang.String |
getTraceId() |
io.opentelemetry.trace.TraceState |
getTraceState() |
int |
hashCode() |
boolean |
isSampled() |
java.lang.String |
toString() |
protected DelegatingSpanData(io.opentelemetry.sdk.trace.data.SpanData delegate)
public java.lang.String getTraceId()
getTraceId
in interface io.opentelemetry.sdk.trace.data.SpanData
public java.lang.String getSpanId()
getSpanId
in interface io.opentelemetry.sdk.trace.data.SpanData
public boolean isSampled()
isSampled
in interface io.opentelemetry.sdk.trace.data.SpanData
public io.opentelemetry.trace.TraceState getTraceState()
getTraceState
in interface io.opentelemetry.sdk.trace.data.SpanData
public java.lang.String getParentSpanId()
getParentSpanId
in interface io.opentelemetry.sdk.trace.data.SpanData
public io.opentelemetry.sdk.resources.Resource getResource()
getResource
in interface io.opentelemetry.sdk.trace.data.SpanData
public io.opentelemetry.sdk.common.InstrumentationLibraryInfo getInstrumentationLibraryInfo()
getInstrumentationLibraryInfo
in interface io.opentelemetry.sdk.trace.data.SpanData
public java.lang.String getName()
getName
in interface io.opentelemetry.sdk.trace.data.SpanData
public io.opentelemetry.trace.Span.Kind getKind()
getKind
in interface io.opentelemetry.sdk.trace.data.SpanData
public long getStartEpochNanos()
getStartEpochNanos
in interface io.opentelemetry.sdk.trace.data.SpanData
public io.opentelemetry.common.ReadableAttributes getAttributes()
getAttributes
in interface io.opentelemetry.sdk.trace.data.SpanData
public java.util.List<io.opentelemetry.sdk.trace.data.SpanData.Event> getEvents()
getEvents
in interface io.opentelemetry.sdk.trace.data.SpanData
public java.util.List<io.opentelemetry.sdk.trace.data.SpanData.Link> getLinks()
getLinks
in interface io.opentelemetry.sdk.trace.data.SpanData
public io.opentelemetry.sdk.trace.data.SpanData.Status getStatus()
getStatus
in interface io.opentelemetry.sdk.trace.data.SpanData
public long getEndEpochNanos()
getEndEpochNanos
in interface io.opentelemetry.sdk.trace.data.SpanData
public boolean getHasRemoteParent()
getHasRemoteParent
in interface io.opentelemetry.sdk.trace.data.SpanData
public boolean getHasEnded()
getHasEnded
in interface io.opentelemetry.sdk.trace.data.SpanData
public int getTotalRecordedEvents()
getTotalRecordedEvents
in interface io.opentelemetry.sdk.trace.data.SpanData
public int getTotalRecordedLinks()
getTotalRecordedLinks
in interface io.opentelemetry.sdk.trace.data.SpanData
public int getTotalAttributeCount()
getTotalAttributeCount
in interface io.opentelemetry.sdk.trace.data.SpanData
public final boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object