// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: opencensus/proto/trace/v1/trace.proto
package io.opencensus.proto.trace.v1;
public interface SpanOrBuilder extends
// @@protoc_insertion_point(interface_extends:opencensus.proto.trace.v1.Span)
com.google.protobuf.MessageOrBuilder {
/**
*
* 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
* is considered invalid.
* This field is semantically required. Receiver should generate new
* random trace_id if empty or invalid trace_id was received.
* This field is required.
*
*
* bytes trace_id = 1;
*/
com.google.protobuf.ByteString getTraceId();
/**
*
* 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 is considered
* invalid.
* This field is semantically required. Receiver should generate new
* random span_id if empty or invalid span_id was received.
* This field is required.
*
*
* bytes span_id = 2;
*/
com.google.protobuf.ByteString getSpanId();
/**
*
* The Tracestate on the span.
*
*
* .opencensus.proto.trace.v1.Span.Tracestate tracestate = 15;
*/
boolean hasTracestate();
/**
*
* The Tracestate on the span.
*
*
* .opencensus.proto.trace.v1.Span.Tracestate tracestate = 15;
*/
io.opencensus.proto.trace.v1.Span.Tracestate getTracestate();
/**
*
* The Tracestate on the span.
*
*
* .opencensus.proto.trace.v1.Span.Tracestate tracestate = 15;
*/
io.opencensus.proto.trace.v1.Span.TracestateOrBuilder getTracestateOrBuilder();
/**
*
* 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 = 3;
*/
com.google.protobuf.ByteString getParentSpanId();
/**
*
* 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.
* When null or empty string received - receiver may use string "name"
* as a replacement. There might be smarted algorithms implemented by
* receiver to fix the empty span name.
* This field is required.
*
*
* .opencensus.proto.trace.v1.TruncatableString name = 4;
*/
boolean hasName();
/**
*
* 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.
* When null or empty string received - receiver may use string "name"
* as a replacement. There might be smarted algorithms implemented by
* receiver to fix the empty span name.
* This field is required.
*
*
* .opencensus.proto.trace.v1.TruncatableString name = 4;
*/
io.opencensus.proto.trace.v1.TruncatableString 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.
* When null or empty string received - receiver may use string "name"
* as a replacement. There might be smarted algorithms implemented by
* receiver to fix the empty span name.
* This field is required.
*
*
* .opencensus.proto.trace.v1.TruncatableString name = 4;
*/
io.opencensus.proto.trace.v1.TruncatableStringOrBuilder getNameOrBuilder();
/**
*
* 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.
*
*
* .opencensus.proto.trace.v1.Span.SpanKind kind = 14;
*/
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.
*
*
* .opencensus.proto.trace.v1.Span.SpanKind kind = 14;
*/
io.opencensus.proto.trace.v1.Span.SpanKind getKind();
/**
*
* 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.
* This field is semantically required. When not set on receive -
* receiver should set it to the value of end_time field if it was
* set. Or to the current time if neither was set. It is important to
* keep end_time > start_time for consistency.
* This field is required.
*
*
* .google.protobuf.Timestamp start_time = 5;
*/
boolean hasStartTime();
/**
*
* 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.
* This field is semantically required. When not set on receive -
* receiver should set it to the value of end_time field if it was
* set. Or to the current time if neither was set. It is important to
* keep end_time > start_time for consistency.
* This field is required.
*
*
* .google.protobuf.Timestamp start_time = 5;
*/
com.google.protobuf.Timestamp getStartTime();
/**
*
* 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.
* This field is semantically required. When not set on receive -
* receiver should set it to the value of end_time field if it was
* set. Or to the current time if neither was set. It is important to
* keep end_time > start_time for consistency.
* This field is required.
*
*
* .google.protobuf.Timestamp start_time = 5;
*/
com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder();
/**
*
* 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.
* This field is semantically required. When not set on receive -
* receiver should set it to start_time value. It is important to
* keep end_time > start_time for consistency.
* This field is required.
*
*
* .google.protobuf.Timestamp end_time = 6;
*/
boolean hasEndTime();
/**
*
* 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.
* This field is semantically required. When not set on receive -
* receiver should set it to start_time value. It is important to
* keep end_time > start_time for consistency.
* This field is required.
*
*
* .google.protobuf.Timestamp end_time = 6;
*/
com.google.protobuf.Timestamp getEndTime();
/**
*
* 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.
* This field is semantically required. When not set on receive -
* receiver should set it to start_time value. It is important to
* keep end_time > start_time for consistency.
* This field is required.
*
*
* .google.protobuf.Timestamp end_time = 6;
*/
com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder();
/**
*
* A set of attributes on the span.
*
*
* .opencensus.proto.trace.v1.Span.Attributes attributes = 7;
*/
boolean hasAttributes();
/**
*
* A set of attributes on the span.
*
*
* .opencensus.proto.trace.v1.Span.Attributes attributes = 7;
*/
io.opencensus.proto.trace.v1.Span.Attributes getAttributes();
/**
*
* A set of attributes on the span.
*
*
* .opencensus.proto.trace.v1.Span.Attributes attributes = 7;
*/
io.opencensus.proto.trace.v1.Span.AttributesOrBuilder getAttributesOrBuilder();
/**
*
* A stack trace captured at the start of the span.
*
*
* .opencensus.proto.trace.v1.StackTrace stack_trace = 8;
*/
boolean hasStackTrace();
/**
*
* A stack trace captured at the start of the span.
*
*
* .opencensus.proto.trace.v1.StackTrace stack_trace = 8;
*/
io.opencensus.proto.trace.v1.StackTrace getStackTrace();
/**
*
* A stack trace captured at the start of the span.
*
*
* .opencensus.proto.trace.v1.StackTrace stack_trace = 8;
*/
io.opencensus.proto.trace.v1.StackTraceOrBuilder getStackTraceOrBuilder();
/**
*
* The included time events.
*
*
* .opencensus.proto.trace.v1.Span.TimeEvents time_events = 9;
*/
boolean hasTimeEvents();
/**
*
* The included time events.
*
*
* .opencensus.proto.trace.v1.Span.TimeEvents time_events = 9;
*/
io.opencensus.proto.trace.v1.Span.TimeEvents getTimeEvents();
/**
*
* The included time events.
*
*
* .opencensus.proto.trace.v1.Span.TimeEvents time_events = 9;
*/
io.opencensus.proto.trace.v1.Span.TimeEventsOrBuilder getTimeEventsOrBuilder();
/**
*
* The included links.
*
*
* .opencensus.proto.trace.v1.Span.Links links = 10;
*/
boolean hasLinks();
/**
*
* The included links.
*
*
* .opencensus.proto.trace.v1.Span.Links links = 10;
*/
io.opencensus.proto.trace.v1.Span.Links getLinks();
/**
*
* The included links.
*
*
* .opencensus.proto.trace.v1.Span.Links links = 10;
*/
io.opencensus.proto.trace.v1.Span.LinksOrBuilder getLinksOrBuilder();
/**
*
* An optional final status for this span. Semantically when Status
* wasn't set it is means span ended without errors and assume
* Status.Ok (code = 0).
*
*
* .opencensus.proto.trace.v1.Status status = 11;
*/
boolean hasStatus();
/**
*
* An optional final status for this span. Semantically when Status
* wasn't set it is means span ended without errors and assume
* Status.Ok (code = 0).
*
*
* .opencensus.proto.trace.v1.Status status = 11;
*/
io.opencensus.proto.trace.v1.Status getStatus();
/**
*
* An optional final status for this span. Semantically when Status
* wasn't set it is means span ended without errors and assume
* Status.Ok (code = 0).
*
*
* .opencensus.proto.trace.v1.Status status = 11;
*/
io.opencensus.proto.trace.v1.StatusOrBuilder getStatusOrBuilder();
/**
*
* An optional resource that is associated with this span. If not set, this span
* should be part of a batch that does include the resource information, unless resource
* information is unknown.
*
*
* .opencensus.proto.resource.v1.Resource resource = 16;
*/
boolean hasResource();
/**
*
* An optional resource that is associated with this span. If not set, this span
* should be part of a batch that does include the resource information, unless resource
* information is unknown.
*
*
* .opencensus.proto.resource.v1.Resource resource = 16;
*/
io.opencensus.proto.resource.v1.Resource getResource();
/**
*
* An optional resource that is associated with this span. If not set, this span
* should be part of a batch that does include the resource information, unless resource
* information is unknown.
*
*
* .opencensus.proto.resource.v1.Resource resource = 16;
*/
io.opencensus.proto.resource.v1.ResourceOrBuilder getResourceOrBuilder();
/**
*
* A highly recommended but not required flag that identifies when a
* trace crosses a process boundary. True when the parent_span belongs
* to the same process as the current span. This flag is most commonly
* used to indicate the need to adjust time as clocks in different
* processes may not be synchronized.
*
*
* .google.protobuf.BoolValue same_process_as_parent_span = 12;
*/
boolean hasSameProcessAsParentSpan();
/**
*
* A highly recommended but not required flag that identifies when a
* trace crosses a process boundary. True when the parent_span belongs
* to the same process as the current span. This flag is most commonly
* used to indicate the need to adjust time as clocks in different
* processes may not be synchronized.
*
*
* .google.protobuf.BoolValue same_process_as_parent_span = 12;
*/
com.google.protobuf.BoolValue getSameProcessAsParentSpan();
/**
*
* A highly recommended but not required flag that identifies when a
* trace crosses a process boundary. True when the parent_span belongs
* to the same process as the current span. This flag is most commonly
* used to indicate the need to adjust time as clocks in different
* processes may not be synchronized.
*
*
* .google.protobuf.BoolValue same_process_as_parent_span = 12;
*/
com.google.protobuf.BoolValueOrBuilder getSameProcessAsParentSpanOrBuilder();
/**
*
* An optional number of child spans that were generated while this span
* was active. If set, allows an implementation to detect missing child spans.
*
*
* .google.protobuf.UInt32Value child_span_count = 13;
*/
boolean hasChildSpanCount();
/**
*
* An optional number of child spans that were generated while this span
* was active. If set, allows an implementation to detect missing child spans.
*
*
* .google.protobuf.UInt32Value child_span_count = 13;
*/
com.google.protobuf.UInt32Value getChildSpanCount();
/**
*
* An optional number of child spans that were generated while this span
* was active. If set, allows an implementation to detect missing child spans.
*
*
* .google.protobuf.UInt32Value child_span_count = 13;
*/
com.google.protobuf.UInt32ValueOrBuilder getChildSpanCountOrBuilder();
}