Class Span

  • All Implemented Interfaces:
    SpanOrBuilder, com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Serializable

    public final class Span
    extends com.google.protobuf.GeneratedMessageV3
    implements SpanOrBuilder
     A span represents a single operation within a trace. Spans can be
     nested to form a trace tree. Often, a trace contains a root span
     that describes the end-to-end latency, and one or more subspans for
     its sub-operations.
    
     A trace can also contain multiple root spans, or none at all.
     Spans do not need to be contiguous. There might be
     gaps or overlaps between spans in a trace.
     
    Protobuf type google.devtools.cloudtrace.v2.Span
    See Also:
    Serialized Form
    • Method Detail

      • newInstance

        protected Object newInstance​(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
        Overrides:
        newInstance in class com.google.protobuf.GeneratedMessageV3
      • getDescriptor

        public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
      • internalGetFieldAccessorTable

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
      • getName

        public String getName()
         Required. The resource name of the span in the following format:
        
          * `projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID]`
        
         `[TRACE_ID]` is a unique identifier for a trace within a project;
         it is a 32-character hexadecimal encoding of a 16-byte array. It should
         not be zero.
        
         `[SPAN_ID]` is a unique identifier for a span within a trace; it
         is a 16-character hexadecimal encoding of an 8-byte array. It should not
         be zero.
         .
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getName in interface SpanOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         Required. The resource name of the span in the following format:
        
          * `projects/[PROJECT_ID]/traces/[TRACE_ID]/spans/[SPAN_ID]`
        
         `[TRACE_ID]` is a unique identifier for a trace within a project;
         it is a 32-character hexadecimal encoding of a 16-byte array. It should
         not be zero.
        
         `[SPAN_ID]` is a unique identifier for a span within a trace; it
         is a 16-character hexadecimal encoding of an 8-byte array. It should not
         be zero.
         .
         
        string name = 1 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getNameBytes in interface SpanOrBuilder
        Returns:
        The bytes for name.
      • getSpanId

        public String getSpanId()
         Required. The `[SPAN_ID]` portion of the span's resource name.
         
        string span_id = 2 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getSpanId in interface SpanOrBuilder
        Returns:
        The spanId.
      • getSpanIdBytes

        public com.google.protobuf.ByteString getSpanIdBytes()
         Required. The `[SPAN_ID]` portion of the span's resource name.
         
        string span_id = 2 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getSpanIdBytes in interface SpanOrBuilder
        Returns:
        The bytes for spanId.
      • getParentSpanId

        public String getParentSpanId()
         The `[SPAN_ID]` of this span's parent span. If this is a root span,
         then this field must be empty.
         
        string parent_span_id = 3;
        Specified by:
        getParentSpanId in interface SpanOrBuilder
        Returns:
        The parentSpanId.
      • getParentSpanIdBytes

        public com.google.protobuf.ByteString getParentSpanIdBytes()
         The `[SPAN_ID]` of this span's parent span. If this is a root span,
         then this field must be empty.
         
        string parent_span_id = 3;
        Specified by:
        getParentSpanIdBytes in interface SpanOrBuilder
        Returns:
        The bytes for parentSpanId.
      • hasDisplayName

        public boolean hasDisplayName()
         Required. A description of the span's operation (up to 128 bytes).
         Cloud Trace displays the description in the
         Cloud console.
         For example, the display 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 within an application and at the same call point.
         This makes it easier to correlate spans in different traces.
         
        .google.devtools.cloudtrace.v2.TruncatableString display_name = 4 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        hasDisplayName in interface SpanOrBuilder
        Returns:
        Whether the displayName field is set.
      • getDisplayName

        public TruncatableString getDisplayName()
         Required. A description of the span's operation (up to 128 bytes).
         Cloud Trace displays the description in the
         Cloud console.
         For example, the display 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 within an application and at the same call point.
         This makes it easier to correlate spans in different traces.
         
        .google.devtools.cloudtrace.v2.TruncatableString display_name = 4 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getDisplayName in interface SpanOrBuilder
        Returns:
        The displayName.
      • getDisplayNameOrBuilder

        public TruncatableStringOrBuilder getDisplayNameOrBuilder()
         Required. A description of the span's operation (up to 128 bytes).
         Cloud Trace displays the description in the
         Cloud console.
         For example, the display 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 within an application and at the same call point.
         This makes it easier to correlate spans in different traces.
         
        .google.devtools.cloudtrace.v2.TruncatableString display_name = 4 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getDisplayNameOrBuilder in interface SpanOrBuilder
      • hasStartTime

        public boolean hasStartTime()
         Required. 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.
         
        .google.protobuf.Timestamp start_time = 5 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        hasStartTime in interface SpanOrBuilder
        Returns:
        Whether the startTime field is set.
      • getStartTime

        public com.google.protobuf.Timestamp getStartTime()
         Required. 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.
         
        .google.protobuf.Timestamp start_time = 5 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getStartTime in interface SpanOrBuilder
        Returns:
        The startTime.
      • getStartTimeOrBuilder

        public com.google.protobuf.TimestampOrBuilder getStartTimeOrBuilder()
         Required. 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.
         
        .google.protobuf.Timestamp start_time = 5 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getStartTimeOrBuilder in interface SpanOrBuilder
      • hasEndTime

        public boolean hasEndTime()
         Required. 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.
         
        .google.protobuf.Timestamp end_time = 6 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        hasEndTime in interface SpanOrBuilder
        Returns:
        Whether the endTime field is set.
      • getEndTime

        public com.google.protobuf.Timestamp getEndTime()
         Required. 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.
         
        .google.protobuf.Timestamp end_time = 6 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getEndTime in interface SpanOrBuilder
        Returns:
        The endTime.
      • getEndTimeOrBuilder

        public com.google.protobuf.TimestampOrBuilder getEndTimeOrBuilder()
         Required. 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.
         
        .google.protobuf.Timestamp end_time = 6 [(.google.api.field_behavior) = REQUIRED];
        Specified by:
        getEndTimeOrBuilder in interface SpanOrBuilder
      • hasAttributes

        public boolean hasAttributes()
         A set of attributes on the span. You can have up to 32 attributes per
         span.
         
        .google.devtools.cloudtrace.v2.Span.Attributes attributes = 7;
        Specified by:
        hasAttributes in interface SpanOrBuilder
        Returns:
        Whether the attributes field is set.
      • getAttributes

        public Span.Attributes getAttributes()
         A set of attributes on the span. You can have up to 32 attributes per
         span.
         
        .google.devtools.cloudtrace.v2.Span.Attributes attributes = 7;
        Specified by:
        getAttributes in interface SpanOrBuilder
        Returns:
        The attributes.
      • hasStackTrace

        public boolean hasStackTrace()
         Stack trace captured at the start of the span.
         
        .google.devtools.cloudtrace.v2.StackTrace stack_trace = 8;
        Specified by:
        hasStackTrace in interface SpanOrBuilder
        Returns:
        Whether the stackTrace field is set.
      • getStackTrace

        public StackTrace getStackTrace()
         Stack trace captured at the start of the span.
         
        .google.devtools.cloudtrace.v2.StackTrace stack_trace = 8;
        Specified by:
        getStackTrace in interface SpanOrBuilder
        Returns:
        The stackTrace.
      • hasTimeEvents

        public boolean hasTimeEvents()
         A set of time events. You can have up to 32 annotations and 128 message
         events per span.
         
        .google.devtools.cloudtrace.v2.Span.TimeEvents time_events = 9;
        Specified by:
        hasTimeEvents in interface SpanOrBuilder
        Returns:
        Whether the timeEvents field is set.
      • getTimeEvents

        public Span.TimeEvents getTimeEvents()
         A set of time events. You can have up to 32 annotations and 128 message
         events per span.
         
        .google.devtools.cloudtrace.v2.Span.TimeEvents time_events = 9;
        Specified by:
        getTimeEvents in interface SpanOrBuilder
        Returns:
        The timeEvents.
      • getTimeEventsOrBuilder

        public Span.TimeEventsOrBuilder getTimeEventsOrBuilder()
         A set of time events. You can have up to 32 annotations and 128 message
         events per span.
         
        .google.devtools.cloudtrace.v2.Span.TimeEvents time_events = 9;
        Specified by:
        getTimeEventsOrBuilder in interface SpanOrBuilder
      • hasLinks

        public boolean hasLinks()
         Links associated with the span. You can have up to 128 links per Span.
         
        .google.devtools.cloudtrace.v2.Span.Links links = 10;
        Specified by:
        hasLinks in interface SpanOrBuilder
        Returns:
        Whether the links field is set.
      • getLinks

        public Span.Links getLinks()
         Links associated with the span. You can have up to 128 links per Span.
         
        .google.devtools.cloudtrace.v2.Span.Links links = 10;
        Specified by:
        getLinks in interface SpanOrBuilder
        Returns:
        The links.
      • getLinksOrBuilder

        public Span.LinksOrBuilder getLinksOrBuilder()
         Links associated with the span. You can have up to 128 links per Span.
         
        .google.devtools.cloudtrace.v2.Span.Links links = 10;
        Specified by:
        getLinksOrBuilder in interface SpanOrBuilder
      • hasStatus

        public boolean hasStatus()
         Optional. The final status for this span.
         
        .google.rpc.Status status = 11 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        hasStatus in interface SpanOrBuilder
        Returns:
        Whether the status field is set.
      • getStatus

        public com.google.rpc.Status getStatus()
         Optional. The final status for this span.
         
        .google.rpc.Status status = 11 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getStatus in interface SpanOrBuilder
        Returns:
        The status.
      • getStatusOrBuilder

        public com.google.rpc.StatusOrBuilder getStatusOrBuilder()
         Optional. The final status for this span.
         
        .google.rpc.Status status = 11 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getStatusOrBuilder in interface SpanOrBuilder
      • hasSameProcessAsParentSpan

        public boolean hasSameProcessAsParentSpan()
         Optional. Set this parameter to indicate whether this span is in
         the same process as its parent. If you do not set this parameter,
         Trace is unable to take advantage of this helpful information.
         
        .google.protobuf.BoolValue same_process_as_parent_span = 12 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        hasSameProcessAsParentSpan in interface SpanOrBuilder
        Returns:
        Whether the sameProcessAsParentSpan field is set.
      • getSameProcessAsParentSpan

        public com.google.protobuf.BoolValue getSameProcessAsParentSpan()
         Optional. Set this parameter to indicate whether this span is in
         the same process as its parent. If you do not set this parameter,
         Trace is unable to take advantage of this helpful information.
         
        .google.protobuf.BoolValue same_process_as_parent_span = 12 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getSameProcessAsParentSpan in interface SpanOrBuilder
        Returns:
        The sameProcessAsParentSpan.
      • getSameProcessAsParentSpanOrBuilder

        public com.google.protobuf.BoolValueOrBuilder getSameProcessAsParentSpanOrBuilder()
         Optional. Set this parameter to indicate whether this span is in
         the same process as its parent. If you do not set this parameter,
         Trace is unable to take advantage of this helpful information.
         
        .google.protobuf.BoolValue same_process_as_parent_span = 12 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getSameProcessAsParentSpanOrBuilder in interface SpanOrBuilder
      • hasChildSpanCount

        public boolean hasChildSpanCount()
         Optional. The number of child spans that were generated while this span
         was active. If set, allows implementation to detect missing child spans.
         
        .google.protobuf.Int32Value child_span_count = 13 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        hasChildSpanCount in interface SpanOrBuilder
        Returns:
        Whether the childSpanCount field is set.
      • getChildSpanCount

        public com.google.protobuf.Int32Value getChildSpanCount()
         Optional. The number of child spans that were generated while this span
         was active. If set, allows implementation to detect missing child spans.
         
        .google.protobuf.Int32Value child_span_count = 13 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getChildSpanCount in interface SpanOrBuilder
        Returns:
        The childSpanCount.
      • getChildSpanCountOrBuilder

        public com.google.protobuf.Int32ValueOrBuilder getChildSpanCountOrBuilder()
         Optional. The number of child spans that were generated while this span
         was active. If set, allows implementation to detect missing child spans.
         
        .google.protobuf.Int32Value child_span_count = 13 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getChildSpanCountOrBuilder in interface SpanOrBuilder
      • getSpanKindValue

        public int getSpanKindValue()
         Optional. 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 an RPC call.
         
        .google.devtools.cloudtrace.v2.Span.SpanKind span_kind = 14 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getSpanKindValue in interface SpanOrBuilder
        Returns:
        The enum numeric value on the wire for spanKind.
      • getSpanKind

        public Span.SpanKind getSpanKind()
         Optional. 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 an RPC call.
         
        .google.devtools.cloudtrace.v2.Span.SpanKind span_kind = 14 [(.google.api.field_behavior) = OPTIONAL];
        Specified by:
        getSpanKind in interface SpanOrBuilder
        Returns:
        The spanKind.
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessageV3
      • writeTo

        public void writeTo​(com.google.protobuf.CodedOutputStream output)
                     throws IOException
        Specified by:
        writeTo in interface com.google.protobuf.MessageLite
        Overrides:
        writeTo in class com.google.protobuf.GeneratedMessageV3
        Throws:
        IOException
      • getSerializedSize

        public int getSerializedSize()
        Specified by:
        getSerializedSize in interface com.google.protobuf.MessageLite
        Overrides:
        getSerializedSize in class com.google.protobuf.GeneratedMessageV3
      • equals

        public boolean equals​(Object obj)
        Specified by:
        equals in interface com.google.protobuf.Message
        Overrides:
        equals in class com.google.protobuf.AbstractMessage
      • hashCode

        public int hashCode()
        Specified by:
        hashCode in interface com.google.protobuf.Message
        Overrides:
        hashCode in class com.google.protobuf.AbstractMessage
      • parseFrom

        public static Span parseFrom​(ByteBuffer data)
                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Span parseFrom​(ByteBuffer data,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Span parseFrom​(com.google.protobuf.ByteString data)
                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Span parseFrom​(com.google.protobuf.ByteString data,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Span parseFrom​(byte[] data)
                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Span parseFrom​(byte[] data,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                              throws com.google.protobuf.InvalidProtocolBufferException
        Throws:
        com.google.protobuf.InvalidProtocolBufferException
      • parseFrom

        public static Span parseFrom​(com.google.protobuf.CodedInputStream input,
                                     com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                              throws IOException
        Throws:
        IOException
      • newBuilderForType

        public Span.Builder newBuilderForType()
        Specified by:
        newBuilderForType in interface com.google.protobuf.Message
        Specified by:
        newBuilderForType in interface com.google.protobuf.MessageLite
      • toBuilder

        public Span.Builder toBuilder()
        Specified by:
        toBuilder in interface com.google.protobuf.Message
        Specified by:
        toBuilder in interface com.google.protobuf.MessageLite
      • newBuilderForType

        protected Span.Builder newBuilderForType​(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
        Specified by:
        newBuilderForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstance

        public static Span getDefaultInstance()
      • parser

        public static com.google.protobuf.Parser<Span> parser()
      • getParserForType

        public com.google.protobuf.Parser<Span> getParserForType()
        Specified by:
        getParserForType in interface com.google.protobuf.Message
        Specified by:
        getParserForType in interface com.google.protobuf.MessageLite
        Overrides:
        getParserForType in class com.google.protobuf.GeneratedMessageV3
      • getDefaultInstanceForType

        public Span getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder