Package io.opentelemetry.proto.trace.v1
Interface SpanOrBuilder
- All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder
- All Known Implementing Classes:
Span,Span.Builder
public interface SpanOrBuilder
extends com.google.protobuf.MessageLiteOrBuilder
-
Method Summary
Modifier and TypeMethodDescriptiongetAttributes(int index) A collection of key/value pairs.intA collection of key/value pairs.A collection of key/value pairs.intThe number of attributes that were discarded.intThe number of dropped events.intThe number of dropped links after the maximum size was enforced.longThe end time of the span.getEvents(int index) A collection of Event items.intA collection of Event items.A collection of Event items.intgetFlags()Flags, a bit field.getKind()Distinguishes between spans generated in a particular context.intDistinguishes between spans generated in a particular context.getLinks(int index) A collection of Links, which are references from this span to a span in the same or different trace.intA collection of Links, which are references from this span to a span in the same or different trace.A collection of Links, which are references from this span to a span in the same or different trace.getName()A description of the span's operation.com.google.protobuf.ByteStringA description of the span's operation.com.google.protobuf.ByteStringThe `span_id` of this span's parent span.com.google.protobuf.ByteStringA unique identifier for a span within a trace, assigned when the span is created.longThe start time of the span.An optional final status for this span.com.google.protobuf.ByteStringA unique identifier for a trace.trace_state conveys information about request position in multiple distributed tracing graphs.com.google.protobuf.ByteStringtrace_state conveys information about request position in multiple distributed tracing graphs.booleanAn optional final status for this span.Methods inherited from interface com.google.protobuf.MessageLiteOrBuilder
getDefaultInstanceForType, isInitialized
-
Method Details
-
getTraceId
com.google.protobuf.ByteString getTraceId()A unique identifier for a trace. All spans from the same trace share the same `trace_id`. The ID is a 16-byte array. An ID with all zeroes OR of length other than 16 bytes is considered invalid (empty string in OTLP/JSON is zero-length and thus is also invalid). This field is required.
bytes trace_id = 1 [json_name = "traceId"];- Returns:
- The traceId.
-
getSpanId
com.google.protobuf.ByteString getSpanId()A unique identifier for a span within a trace, assigned when the span is created. The ID is an 8-byte array. An ID with all zeroes OR of length other than 8 bytes is considered invalid (empty string in OTLP/JSON is zero-length and thus is also invalid). This field is required.
bytes span_id = 2 [json_name = "spanId"];- Returns:
- The spanId.
-
getTraceState
String getTraceState()trace_state conveys information about request position in multiple distributed tracing graphs. It is a trace_state in w3c-trace-context format: https://www.w3.org/TR/trace-context/#tracestate-header See also https://github.com/w3c/distributed-tracing for more details about this field.
string trace_state = 3 [json_name = "traceState"];- Returns:
- The traceState.
-
getTraceStateBytes
com.google.protobuf.ByteString getTraceStateBytes()trace_state conveys information about request position in multiple distributed tracing graphs. It is a trace_state in w3c-trace-context format: https://www.w3.org/TR/trace-context/#tracestate-header See also https://github.com/w3c/distributed-tracing for more details about this field.
string trace_state = 3 [json_name = "traceState"];- Returns:
- The bytes for traceState.
-
getParentSpanId
com.google.protobuf.ByteString getParentSpanId()The `span_id` of this span's parent span. If this is a root span, then this field must be empty. The ID is an 8-byte array.
bytes parent_span_id = 4 [json_name = "parentSpanId"];- Returns:
- The parentSpanId.
-
getFlags
int getFlags()Flags, a bit field. Bits 0-7 (8 least significant bits) are the trace flags as defined in W3C Trace Context specification. To read the 8-bit W3C trace flag, use `flags & SPAN_FLAGS_TRACE_FLAGS_MASK`. See https://www.w3.org/TR/trace-context-2/#trace-flags for the flag definitions. Bits 8 and 9 represent the 3 states of whether a span's parent is remote. The states are (unknown, is not remote, is remote). To read whether the value is known, use `(flags & SPAN_FLAGS_CONTEXT_HAS_IS_REMOTE_MASK) != 0`. To read whether the span is remote, use `(flags & SPAN_FLAGS_CONTEXT_IS_REMOTE_MASK) != 0`. When creating span messages, if the message is logically forwarded from another source with an equivalent flags fields (i.e., usually another OTLP span message), the field SHOULD be copied as-is. If creating from a source that does not have an equivalent flags field (such as a runtime representation of an OpenTelemetry span), the high 22 bits MUST be set to zero. Readers MUST NOT assume that bits 10-31 (22 most significant bits) will be zero. [Optional].
fixed32 flags = 16 [json_name = "flags"];- Returns:
- The flags.
-
getName
String getName()A description of the span's operation. For example, the name can be a qualified method name or a file name and a line number where the operation is called. A best practice is to use the same display name at the same call point in an application. This makes it easier to correlate spans in different traces. This field is semantically required to be set to non-empty string. Empty value is equivalent to an unknown span name. This field is required.
string name = 5 [json_name = "name"];- Returns:
- The name.
-
getNameBytes
com.google.protobuf.ByteString getNameBytes()A description of the span's operation. For example, the name can be a qualified method name or a file name and a line number where the operation is called. A best practice is to use the same display name at the same call point in an application. This makes it easier to correlate spans in different traces. This field is semantically required to be set to non-empty string. Empty value is equivalent to an unknown span name. This field is required.
string name = 5 [json_name = "name"];- Returns:
- The bytes for name.
-
getKindValue
int getKindValue()Distinguishes between spans generated in a particular context. For example, two spans with the same name may be distinguished using `CLIENT` (caller) and `SERVER` (callee) to identify queueing latency associated with the span.
.opentelemetry.proto.trace.v1.Span.SpanKind kind = 6 [json_name = "kind"];- Returns:
- The enum numeric value on the wire for kind.
-
getKind
Span.SpanKind getKind()Distinguishes between spans generated in a particular context. For example, two spans with the same name may be distinguished using `CLIENT` (caller) and `SERVER` (callee) to identify queueing latency associated with the span.
.opentelemetry.proto.trace.v1.Span.SpanKind kind = 6 [json_name = "kind"];- Returns:
- The kind.
-
getStartTimeUnixNano
long getStartTimeUnixNano()The start time of the span. On the client side, this is the time kept by the local machine where the span execution starts. On the server side, this is the time when the server's application handler starts running. Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970. This field is semantically required and it is expected that end_time >= start_time.
fixed64 start_time_unix_nano = 7 [json_name = "startTimeUnixNano"];- Returns:
- The startTimeUnixNano.
-
getEndTimeUnixNano
long getEndTimeUnixNano()The end time of the span. On the client side, this is the time kept by the local machine where the span execution ends. On the server side, this is the time when the server application handler stops running. Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970. This field is semantically required and it is expected that end_time >= start_time.
fixed64 end_time_unix_nano = 8 [json_name = "endTimeUnixNano"];- Returns:
- The endTimeUnixNano.
-
getAttributesList
A collection of key/value pairs. Note, global attributes like server name can be set using the resource API. Examples of attributes: "/http/user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36" "/http/server_latency": 300 "example.com/myattribute": true "example.com/score": 10.239 Attribute keys MUST be unique (it is not allowed to have more than one attribute with the same key). The behavior of software that receives duplicated keys can be unpredictable.
repeated .opentelemetry.proto.common.v1.KeyValue attributes = 9 [json_name = "attributes"]; -
getAttributes
A collection of key/value pairs. Note, global attributes like server name can be set using the resource API. Examples of attributes: "/http/user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36" "/http/server_latency": 300 "example.com/myattribute": true "example.com/score": 10.239 Attribute keys MUST be unique (it is not allowed to have more than one attribute with the same key). The behavior of software that receives duplicated keys can be unpredictable.
repeated .opentelemetry.proto.common.v1.KeyValue attributes = 9 [json_name = "attributes"]; -
getAttributesCount
int getAttributesCount()A collection of key/value pairs. Note, global attributes like server name can be set using the resource API. Examples of attributes: "/http/user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36" "/http/server_latency": 300 "example.com/myattribute": true "example.com/score": 10.239 Attribute keys MUST be unique (it is not allowed to have more than one attribute with the same key). The behavior of software that receives duplicated keys can be unpredictable.
repeated .opentelemetry.proto.common.v1.KeyValue attributes = 9 [json_name = "attributes"]; -
getDroppedAttributesCount
int getDroppedAttributesCount()The number of attributes that were discarded. Attributes can be discarded because their keys are too long or because there are too many attributes. If this value is 0, then no attributes were dropped.
uint32 dropped_attributes_count = 10 [json_name = "droppedAttributesCount"];- Returns:
- The droppedAttributesCount.
-
getEventsList
List<Span.Event> getEventsList()A collection of Event items.
repeated .opentelemetry.proto.trace.v1.Span.Event events = 11 [json_name = "events"]; -
getEvents
A collection of Event items.
repeated .opentelemetry.proto.trace.v1.Span.Event events = 11 [json_name = "events"]; -
getEventsCount
int getEventsCount()A collection of Event items.
repeated .opentelemetry.proto.trace.v1.Span.Event events = 11 [json_name = "events"]; -
getDroppedEventsCount
int getDroppedEventsCount()The number of dropped events. If the value is 0, then no events were dropped.
uint32 dropped_events_count = 12 [json_name = "droppedEventsCount"];- Returns:
- The droppedEventsCount.
-
getLinksList
A collection of Links, which are references from this span to a span in the same or different trace.
repeated .opentelemetry.proto.trace.v1.Span.Link links = 13 [json_name = "links"]; -
getLinks
A collection of Links, which are references from this span to a span in the same or different trace.
repeated .opentelemetry.proto.trace.v1.Span.Link links = 13 [json_name = "links"]; -
getLinksCount
int getLinksCount()A collection of Links, which are references from this span to a span in the same or different trace.
repeated .opentelemetry.proto.trace.v1.Span.Link links = 13 [json_name = "links"]; -
getDroppedLinksCount
int getDroppedLinksCount()The number of dropped links after the maximum size was enforced. If this value is 0, then no links were dropped.
uint32 dropped_links_count = 14 [json_name = "droppedLinksCount"];- Returns:
- The droppedLinksCount.
-
hasStatus
boolean hasStatus()An optional final status for this span. Semantically when Status isn't set, it means span's status code is unset, i.e. assume STATUS_CODE_UNSET (code = 0).
.opentelemetry.proto.trace.v1.Status status = 15 [json_name = "status"];- Returns:
- Whether the status field is set.
-
getStatus
Status getStatus()An optional final status for this span. Semantically when Status isn't set, it means span's status code is unset, i.e. assume STATUS_CODE_UNSET (code = 0).
.opentelemetry.proto.trace.v1.Status status = 15 [json_name = "status"];- Returns:
- The status.
-