github.com/kiali/kiali@v1.84.0/tracing/tempo/tempopb/trace/v1/trace.pb.go (about)

     1  // Code generated by protoc-gen-gogo. DO NOT EDIT.
     2  // source: trace/v1/trace.proto
     3  
     4  package v1
     5  
     6  import (
     7  	encoding_binary "encoding/binary"
     8  	fmt "fmt"
     9  	proto "github.com/gogo/protobuf/proto"
    10  	v11 "github.com/kiali/kiali/tracing/tempo/tempopb/common/v1"
    11  	v1 "github.com/kiali/kiali/tracing/tempo/tempopb/resource/v1"
    12  	io "io"
    13  	math "math"
    14  	math_bits "math/bits"
    15  )
    16  
    17  // Reference imports to suppress errors if they are not otherwise used.
    18  var _ = proto.Marshal
    19  var _ = fmt.Errorf
    20  var _ = math.Inf
    21  
    22  // This is a compile-time assertion to ensure that this generated file
    23  // is compatible with the proto package it is being compiled against.
    24  // A compilation error at this line likely means your copy of the
    25  // proto package needs to be updated.
    26  const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package
    27  
    28  // SpanKind is the type of span. Can be used to specify additional relationships between spans
    29  // in addition to a parent/child relationship.
    30  type Span_SpanKind int32
    31  
    32  const (
    33  	// Unspecified. Do NOT use as default.
    34  	// Implementations MAY assume SpanKind to be INTERNAL when receiving UNSPECIFIED.
    35  	Span_SPAN_KIND_UNSPECIFIED Span_SpanKind = 0
    36  	// Indicates that the span represents an internal operation within an application,
    37  	// as opposed to an operation happening at the boundaries. Default value.
    38  	Span_SPAN_KIND_INTERNAL Span_SpanKind = 1
    39  	// Indicates that the span covers server-side handling of an RPC or other
    40  	// remote network request.
    41  	Span_SPAN_KIND_SERVER Span_SpanKind = 2
    42  	// Indicates that the span describes a request to some remote service.
    43  	Span_SPAN_KIND_CLIENT Span_SpanKind = 3
    44  	// Indicates that the span describes a producer sending a message to a broker.
    45  	// Unlike CLIENT and SERVER, there is often no direct critical path latency relationship
    46  	// between producer and consumer spans. A PRODUCER span ends when the message was accepted
    47  	// by the broker while the logical processing of the message might span a much longer time.
    48  	Span_SPAN_KIND_PRODUCER Span_SpanKind = 4
    49  	// Indicates that the span describes consumer receiving a message from a broker.
    50  	// Like the PRODUCER kind, there is often no direct critical path latency relationship
    51  	// between producer and consumer spans.
    52  	Span_SPAN_KIND_CONSUMER Span_SpanKind = 5
    53  )
    54  
    55  var Span_SpanKind_name = map[int32]string{
    56  	0: "SPAN_KIND_UNSPECIFIED",
    57  	1: "SPAN_KIND_INTERNAL",
    58  	2: "SPAN_KIND_SERVER",
    59  	3: "SPAN_KIND_CLIENT",
    60  	4: "SPAN_KIND_PRODUCER",
    61  	5: "SPAN_KIND_CONSUMER",
    62  }
    63  
    64  var Span_SpanKind_value = map[string]int32{
    65  	"SPAN_KIND_UNSPECIFIED": 0,
    66  	"SPAN_KIND_INTERNAL":    1,
    67  	"SPAN_KIND_SERVER":      2,
    68  	"SPAN_KIND_CLIENT":      3,
    69  	"SPAN_KIND_PRODUCER":    4,
    70  	"SPAN_KIND_CONSUMER":    5,
    71  }
    72  
    73  func (x Span_SpanKind) String() string {
    74  	return proto.EnumName(Span_SpanKind_name, int32(x))
    75  }
    76  
    77  func (Span_SpanKind) EnumDescriptor() ([]byte, []int) {
    78  	return fileDescriptor_a52825641200f25e, []int{4, 0}
    79  }
    80  
    81  // For the semantics of status codes see
    82  // https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/api.md#set-status
    83  type Status_StatusCode int32
    84  
    85  const (
    86  	// The default status.
    87  	Status_STATUS_CODE_UNSET Status_StatusCode = 0
    88  	// The Span has been validated by an Application developers or Operator to have
    89  	// completed successfully.
    90  	Status_STATUS_CODE_OK Status_StatusCode = 1
    91  	// The Span contains an error.
    92  	Status_STATUS_CODE_ERROR Status_StatusCode = 2
    93  )
    94  
    95  var Status_StatusCode_name = map[int32]string{
    96  	0: "STATUS_CODE_UNSET",
    97  	1: "STATUS_CODE_OK",
    98  	2: "STATUS_CODE_ERROR",
    99  }
   100  
   101  var Status_StatusCode_value = map[string]int32{
   102  	"STATUS_CODE_UNSET": 0,
   103  	"STATUS_CODE_OK":    1,
   104  	"STATUS_CODE_ERROR": 2,
   105  }
   106  
   107  func (x Status_StatusCode) String() string {
   108  	return proto.EnumName(Status_StatusCode_name, int32(x))
   109  }
   110  
   111  func (Status_StatusCode) EnumDescriptor() ([]byte, []int) {
   112  	return fileDescriptor_a52825641200f25e, []int{5, 0}
   113  }
   114  
   115  // TracesData represents the traces data that can be stored in a persistent storage,
   116  // OR can be embedded by other protocols that transfer OTLP traces data but do
   117  // not implement the OTLP protocol.
   118  //
   119  // The main difference between this message and collector protocol is that
   120  // in this message there will not be any "control" or "metadata" specific to
   121  // OTLP protocol.
   122  //
   123  // When new fields are added into this message, the OTLP request MUST be updated
   124  // as well.
   125  type TracesData struct {
   126  	// An array of ResourceSpans.
   127  	// For data coming from a single resource this array will typically contain
   128  	// one element. Intermediary nodes that receive data from multiple origins
   129  	// typically batch the data before forwarding further and in that case this
   130  	// array will contain multiple elements.
   131  	ResourceSpans []*ResourceSpans `protobuf:"bytes,1,rep,name=resource_spans,json=resourceSpans,proto3" json:"resource_spans,omitempty"`
   132  }
   133  
   134  func (m *TracesData) Reset()         { *m = TracesData{} }
   135  func (m *TracesData) String() string { return proto.CompactTextString(m) }
   136  func (*TracesData) ProtoMessage()    {}
   137  func (*TracesData) Descriptor() ([]byte, []int) {
   138  	return fileDescriptor_a52825641200f25e, []int{0}
   139  }
   140  func (m *TracesData) XXX_Unmarshal(b []byte) error {
   141  	return m.Unmarshal(b)
   142  }
   143  func (m *TracesData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   144  	if deterministic {
   145  		return xxx_messageInfo_TracesData.Marshal(b, m, deterministic)
   146  	} else {
   147  		b = b[:cap(b)]
   148  		n, err := m.MarshalToSizedBuffer(b)
   149  		if err != nil {
   150  			return nil, err
   151  		}
   152  		return b[:n], nil
   153  	}
   154  }
   155  func (m *TracesData) XXX_Merge(src proto.Message) {
   156  	xxx_messageInfo_TracesData.Merge(m, src)
   157  }
   158  func (m *TracesData) XXX_Size() int {
   159  	return m.Size()
   160  }
   161  func (m *TracesData) XXX_DiscardUnknown() {
   162  	xxx_messageInfo_TracesData.DiscardUnknown(m)
   163  }
   164  
   165  var xxx_messageInfo_TracesData proto.InternalMessageInfo
   166  
   167  func (m *TracesData) GetResourceSpans() []*ResourceSpans {
   168  	if m != nil {
   169  		return m.ResourceSpans
   170  	}
   171  	return nil
   172  }
   173  
   174  // A collection of ScopeSpans from a Resource.
   175  type ResourceSpans struct {
   176  	// The resource for the spans in this message.
   177  	// If this field is not set then no resource info is known.
   178  	Resource *v1.Resource `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
   179  	// A list of ScopeSpans that originate from a resource.
   180  	ScopeSpans []*ScopeSpans `protobuf:"bytes,2,rep,name=scope_spans,json=scopeSpans,proto3" json:"scope_spans,omitempty"`
   181  	// A list of InstrumentationLibrarySpans that originate from a resource.
   182  	// This field is deprecated and will be removed after grace period expires on June 15, 2022.
   183  	//
   184  	// During the grace period the following rules SHOULD be followed:
   185  	//
   186  	// For Binary Protobufs
   187  	// ====================
   188  	// Binary Protobuf senders SHOULD NOT set instrumentation_library_spans. Instead
   189  	// scope_spans SHOULD be set.
   190  	//
   191  	// Binary Protobuf receivers SHOULD check if instrumentation_library_spans is set
   192  	// and scope_spans is not set then the value in instrumentation_library_spans
   193  	// SHOULD be used instead by converting InstrumentationLibrarySpans into ScopeSpans.
   194  	// If scope_spans is set then instrumentation_library_spans SHOULD be ignored.
   195  	//
   196  	// For JSON
   197  	// ========
   198  	// JSON senders that set instrumentation_library_spans field MAY also set
   199  	// scope_spans to carry the same spans, essentially double-publishing the same data.
   200  	// Such double-publishing MAY be controlled by a user-settable option.
   201  	// If double-publishing is not used then the senders SHOULD set scope_spans and
   202  	// SHOULD NOT set instrumentation_library_spans.
   203  	//
   204  	// JSON receivers SHOULD check if instrumentation_library_spans is set and
   205  	// scope_spans is not set then the value in instrumentation_library_spans
   206  	// SHOULD be used instead by converting InstrumentationLibrarySpans into ScopeSpans.
   207  	// If scope_spans is set then instrumentation_library_spans field SHOULD be ignored.
   208  	InstrumentationLibrarySpans []*InstrumentationLibrarySpans `protobuf:"bytes,1000,rep,name=instrumentation_library_spans,json=instrumentationLibrarySpans,proto3" json:"instrumentation_library_spans,omitempty"` // Deprecated: Do not use.
   209  	// This schema_url applies to the data in the "resource" field. It does not apply
   210  	// to the data in the "scope_spans" field which have their own schema_url field.
   211  	SchemaUrl string `protobuf:"bytes,3,opt,name=schema_url,json=schemaUrl,proto3" json:"schema_url,omitempty"`
   212  }
   213  
   214  func (m *ResourceSpans) Reset()         { *m = ResourceSpans{} }
   215  func (m *ResourceSpans) String() string { return proto.CompactTextString(m) }
   216  func (*ResourceSpans) ProtoMessage()    {}
   217  func (*ResourceSpans) Descriptor() ([]byte, []int) {
   218  	return fileDescriptor_a52825641200f25e, []int{1}
   219  }
   220  func (m *ResourceSpans) XXX_Unmarshal(b []byte) error {
   221  	return m.Unmarshal(b)
   222  }
   223  func (m *ResourceSpans) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   224  	if deterministic {
   225  		return xxx_messageInfo_ResourceSpans.Marshal(b, m, deterministic)
   226  	} else {
   227  		b = b[:cap(b)]
   228  		n, err := m.MarshalToSizedBuffer(b)
   229  		if err != nil {
   230  			return nil, err
   231  		}
   232  		return b[:n], nil
   233  	}
   234  }
   235  func (m *ResourceSpans) XXX_Merge(src proto.Message) {
   236  	xxx_messageInfo_ResourceSpans.Merge(m, src)
   237  }
   238  func (m *ResourceSpans) XXX_Size() int {
   239  	return m.Size()
   240  }
   241  func (m *ResourceSpans) XXX_DiscardUnknown() {
   242  	xxx_messageInfo_ResourceSpans.DiscardUnknown(m)
   243  }
   244  
   245  var xxx_messageInfo_ResourceSpans proto.InternalMessageInfo
   246  
   247  func (m *ResourceSpans) GetResource() *v1.Resource {
   248  	if m != nil {
   249  		return m.Resource
   250  	}
   251  	return nil
   252  }
   253  
   254  func (m *ResourceSpans) GetScopeSpans() []*ScopeSpans {
   255  	if m != nil {
   256  		return m.ScopeSpans
   257  	}
   258  	return nil
   259  }
   260  
   261  // Deprecated: Do not use.
   262  func (m *ResourceSpans) GetInstrumentationLibrarySpans() []*InstrumentationLibrarySpans {
   263  	if m != nil {
   264  		return m.InstrumentationLibrarySpans
   265  	}
   266  	return nil
   267  }
   268  
   269  func (m *ResourceSpans) GetSchemaUrl() string {
   270  	if m != nil {
   271  		return m.SchemaUrl
   272  	}
   273  	return ""
   274  }
   275  
   276  // A collection of Spans produced by an InstrumentationScope.
   277  type ScopeSpans struct {
   278  	// The instrumentation scope information for the spans in this message.
   279  	// Semantically when InstrumentationScope isn't set, it is equivalent with
   280  	// an empty instrumentation scope name (unknown).
   281  	Scope *v11.InstrumentationScope `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"`
   282  	// A list of Spans that originate from an instrumentation scope.
   283  	Spans []*Span `protobuf:"bytes,2,rep,name=spans,proto3" json:"spans,omitempty"`
   284  	// This schema_url applies to all spans and span events in the "spans" field.
   285  	SchemaUrl string `protobuf:"bytes,3,opt,name=schema_url,json=schemaUrl,proto3" json:"schema_url,omitempty"`
   286  }
   287  
   288  func (m *ScopeSpans) Reset()         { *m = ScopeSpans{} }
   289  func (m *ScopeSpans) String() string { return proto.CompactTextString(m) }
   290  func (*ScopeSpans) ProtoMessage()    {}
   291  func (*ScopeSpans) Descriptor() ([]byte, []int) {
   292  	return fileDescriptor_a52825641200f25e, []int{2}
   293  }
   294  func (m *ScopeSpans) XXX_Unmarshal(b []byte) error {
   295  	return m.Unmarshal(b)
   296  }
   297  func (m *ScopeSpans) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   298  	if deterministic {
   299  		return xxx_messageInfo_ScopeSpans.Marshal(b, m, deterministic)
   300  	} else {
   301  		b = b[:cap(b)]
   302  		n, err := m.MarshalToSizedBuffer(b)
   303  		if err != nil {
   304  			return nil, err
   305  		}
   306  		return b[:n], nil
   307  	}
   308  }
   309  func (m *ScopeSpans) XXX_Merge(src proto.Message) {
   310  	xxx_messageInfo_ScopeSpans.Merge(m, src)
   311  }
   312  func (m *ScopeSpans) XXX_Size() int {
   313  	return m.Size()
   314  }
   315  func (m *ScopeSpans) XXX_DiscardUnknown() {
   316  	xxx_messageInfo_ScopeSpans.DiscardUnknown(m)
   317  }
   318  
   319  var xxx_messageInfo_ScopeSpans proto.InternalMessageInfo
   320  
   321  func (m *ScopeSpans) GetScope() *v11.InstrumentationScope {
   322  	if m != nil {
   323  		return m.Scope
   324  	}
   325  	return nil
   326  }
   327  
   328  func (m *ScopeSpans) GetSpans() []*Span {
   329  	if m != nil {
   330  		return m.Spans
   331  	}
   332  	return nil
   333  }
   334  
   335  func (m *ScopeSpans) GetSchemaUrl() string {
   336  	if m != nil {
   337  		return m.SchemaUrl
   338  	}
   339  	return ""
   340  }
   341  
   342  // A collection of Spans produced by an InstrumentationLibrary.
   343  // InstrumentationLibrarySpans is wire-compatible with ScopeSpans for binary
   344  // Protobuf format.
   345  // This message is deprecated and will be removed on June 15, 2022.
   346  //
   347  // Deprecated: Do not use.
   348  type InstrumentationLibrarySpans struct {
   349  	// The instrumentation library information for the spans in this message.
   350  	// Semantically when InstrumentationLibrary isn't set, it is equivalent with
   351  	// an empty instrumentation library name (unknown).
   352  	InstrumentationLibrary *v11.InstrumentationLibrary `protobuf:"bytes,1,opt,name=instrumentation_library,json=instrumentationLibrary,proto3" json:"instrumentation_library,omitempty"`
   353  	// A list of Spans that originate from an instrumentation library.
   354  	Spans []*Span `protobuf:"bytes,2,rep,name=spans,proto3" json:"spans,omitempty"`
   355  	// This schema_url applies to all spans and span events in the "spans" field.
   356  	SchemaUrl string `protobuf:"bytes,3,opt,name=schema_url,json=schemaUrl,proto3" json:"schema_url,omitempty"`
   357  }
   358  
   359  func (m *InstrumentationLibrarySpans) Reset()         { *m = InstrumentationLibrarySpans{} }
   360  func (m *InstrumentationLibrarySpans) String() string { return proto.CompactTextString(m) }
   361  func (*InstrumentationLibrarySpans) ProtoMessage()    {}
   362  func (*InstrumentationLibrarySpans) Descriptor() ([]byte, []int) {
   363  	return fileDescriptor_a52825641200f25e, []int{3}
   364  }
   365  func (m *InstrumentationLibrarySpans) XXX_Unmarshal(b []byte) error {
   366  	return m.Unmarshal(b)
   367  }
   368  func (m *InstrumentationLibrarySpans) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   369  	if deterministic {
   370  		return xxx_messageInfo_InstrumentationLibrarySpans.Marshal(b, m, deterministic)
   371  	} else {
   372  		b = b[:cap(b)]
   373  		n, err := m.MarshalToSizedBuffer(b)
   374  		if err != nil {
   375  			return nil, err
   376  		}
   377  		return b[:n], nil
   378  	}
   379  }
   380  func (m *InstrumentationLibrarySpans) XXX_Merge(src proto.Message) {
   381  	xxx_messageInfo_InstrumentationLibrarySpans.Merge(m, src)
   382  }
   383  func (m *InstrumentationLibrarySpans) XXX_Size() int {
   384  	return m.Size()
   385  }
   386  func (m *InstrumentationLibrarySpans) XXX_DiscardUnknown() {
   387  	xxx_messageInfo_InstrumentationLibrarySpans.DiscardUnknown(m)
   388  }
   389  
   390  var xxx_messageInfo_InstrumentationLibrarySpans proto.InternalMessageInfo
   391  
   392  func (m *InstrumentationLibrarySpans) GetInstrumentationLibrary() *v11.InstrumentationLibrary {
   393  	if m != nil {
   394  		return m.InstrumentationLibrary
   395  	}
   396  	return nil
   397  }
   398  
   399  func (m *InstrumentationLibrarySpans) GetSpans() []*Span {
   400  	if m != nil {
   401  		return m.Spans
   402  	}
   403  	return nil
   404  }
   405  
   406  func (m *InstrumentationLibrarySpans) GetSchemaUrl() string {
   407  	if m != nil {
   408  		return m.SchemaUrl
   409  	}
   410  	return ""
   411  }
   412  
   413  // Span represents a single operation within a trace. Spans can be
   414  // nested to form a trace tree. Spans may also be linked to other spans
   415  // from the same or different trace and form graphs. Often, a trace
   416  // contains a root span that describes the end-to-end latency, and one
   417  // or more subspans for its sub-operations. A trace can also contain
   418  // multiple root spans, or none at all. Spans do not need to be
   419  // contiguous - there may be gaps or overlaps between spans in a trace.
   420  //
   421  // The next available field id is 17.
   422  type Span struct {
   423  	// A unique identifier for a trace. All spans from the same trace share
   424  	// the same `trace_id`. The ID is a 16-byte array. An ID with all zeroes
   425  	// is considered invalid.
   426  	//
   427  	// This field is semantically required. Receiver should generate new
   428  	// random trace_id if empty or invalid trace_id was received.
   429  	//
   430  	// This field is required.
   431  	TraceId []byte `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
   432  	// A unique identifier for a span within a trace, assigned when the span
   433  	// is created. The ID is an 8-byte array. An ID with all zeroes is considered
   434  	// invalid.
   435  	//
   436  	// This field is semantically required. Receiver should generate new
   437  	// random span_id if empty or invalid span_id was received.
   438  	//
   439  	// This field is required.
   440  	SpanId []byte `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"`
   441  	// trace_state conveys information about request position in multiple distributed tracing graphs.
   442  	// It is a trace_state in w3c-trace-context format: https://www.w3.org/TR/trace-context/#tracestate-header
   443  	// See also https://github.com/w3c/distributed-tracing for more details about this field.
   444  	TraceState string `protobuf:"bytes,3,opt,name=trace_state,json=traceState,proto3" json:"trace_state,omitempty"`
   445  	// The `span_id` of this span's parent span. If this is a root span, then this
   446  	// field must be empty. The ID is an 8-byte array.
   447  	ParentSpanId []byte `protobuf:"bytes,4,opt,name=parent_span_id,json=parentSpanId,proto3" json:"parent_span_id,omitempty"`
   448  	// A description of the span's operation.
   449  	//
   450  	// For example, the name can be a qualified method name or a file name
   451  	// and a line number where the operation is called. A best practice is to use
   452  	// the same display name at the same call point in an application.
   453  	// This makes it easier to correlate spans in different traces.
   454  	//
   455  	// This field is semantically required to be set to non-empty string.
   456  	// Empty value is equivalent to an unknown span name.
   457  	//
   458  	// This field is required.
   459  	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
   460  	// Distinguishes between spans generated in a particular context. For example,
   461  	// two spans with the same name may be distinguished using `CLIENT` (caller)
   462  	// and `SERVER` (callee) to identify queueing latency associated with the span.
   463  	Kind Span_SpanKind `protobuf:"varint,6,opt,name=kind,proto3,enum=tempopb.trace.v1.Span_SpanKind" json:"kind,omitempty"`
   464  	// start_time_unix_nano is the start time of the span. On the client side, this is the time
   465  	// kept by the local machine where the span execution starts. On the server side, this
   466  	// is the time when the server's application handler starts running.
   467  	// Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
   468  	//
   469  	// This field is semantically required and it is expected that end_time >= start_time.
   470  	StartTimeUnixNano uint64 `protobuf:"fixed64,7,opt,name=start_time_unix_nano,json=startTimeUnixNano,proto3" json:"start_time_unix_nano,omitempty"`
   471  	// end_time_unix_nano is the end time of the span. On the client side, this is the time
   472  	// kept by the local machine where the span execution ends. On the server side, this
   473  	// is the time when the server application handler stops running.
   474  	// Value is UNIX Epoch time in nanoseconds since 00:00:00 UTC on 1 January 1970.
   475  	//
   476  	// This field is semantically required and it is expected that end_time >= start_time.
   477  	EndTimeUnixNano uint64 `protobuf:"fixed64,8,opt,name=end_time_unix_nano,json=endTimeUnixNano,proto3" json:"end_time_unix_nano,omitempty"`
   478  	// attributes is a collection of key/value pairs. Note, global attributes
   479  	// like server name can be set using the resource API. Examples of attributes:
   480  	//
   481  	//     "/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"
   482  	//     "/http/server_latency": 300
   483  	//     "abc.com/myattribute": true
   484  	//     "abc.com/score": 10.239
   485  	//
   486  	// The OpenTelemetry API specification further restricts the allowed value types:
   487  	// https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/common/common.md#attributes
   488  	// Attribute keys MUST be unique (it is not allowed to have more than one
   489  	// attribute with the same key).
   490  	Attributes []*v11.KeyValue `protobuf:"bytes,9,rep,name=attributes,proto3" json:"attributes,omitempty"`
   491  	// dropped_attributes_count is the number of attributes that were discarded. Attributes
   492  	// can be discarded because their keys are too long or because there are too many
   493  	// attributes. If this value is 0, then no attributes were dropped.
   494  	DroppedAttributesCount uint32 `protobuf:"varint,10,opt,name=dropped_attributes_count,json=droppedAttributesCount,proto3" json:"dropped_attributes_count,omitempty"`
   495  	// events is a collection of Event items.
   496  	Events []*Span_Event `protobuf:"bytes,11,rep,name=events,proto3" json:"events,omitempty"`
   497  	// dropped_events_count is the number of dropped events. If the value is 0, then no
   498  	// events were dropped.
   499  	DroppedEventsCount uint32 `protobuf:"varint,12,opt,name=dropped_events_count,json=droppedEventsCount,proto3" json:"dropped_events_count,omitempty"`
   500  	// links is a collection of Links, which are references from this span to a span
   501  	// in the same or different trace.
   502  	Links []*Span_Link `protobuf:"bytes,13,rep,name=links,proto3" json:"links,omitempty"`
   503  	// dropped_links_count is the number of dropped links after the maximum size was
   504  	// enforced. If this value is 0, then no links were dropped.
   505  	DroppedLinksCount uint32 `protobuf:"varint,14,opt,name=dropped_links_count,json=droppedLinksCount,proto3" json:"dropped_links_count,omitempty"`
   506  	// An optional final status for this span. Semantically when Status isn't set, it means
   507  	// span's status code is unset, i.e. assume STATUS_CODE_UNSET (code = 0).
   508  	Status *Status `protobuf:"bytes,15,opt,name=status,proto3" json:"status,omitempty"`
   509  }
   510  
   511  func (m *Span) Reset()         { *m = Span{} }
   512  func (m *Span) String() string { return proto.CompactTextString(m) }
   513  func (*Span) ProtoMessage()    {}
   514  func (*Span) Descriptor() ([]byte, []int) {
   515  	return fileDescriptor_a52825641200f25e, []int{4}
   516  }
   517  func (m *Span) XXX_Unmarshal(b []byte) error {
   518  	return m.Unmarshal(b)
   519  }
   520  func (m *Span) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   521  	if deterministic {
   522  		return xxx_messageInfo_Span.Marshal(b, m, deterministic)
   523  	} else {
   524  		b = b[:cap(b)]
   525  		n, err := m.MarshalToSizedBuffer(b)
   526  		if err != nil {
   527  			return nil, err
   528  		}
   529  		return b[:n], nil
   530  	}
   531  }
   532  func (m *Span) XXX_Merge(src proto.Message) {
   533  	xxx_messageInfo_Span.Merge(m, src)
   534  }
   535  func (m *Span) XXX_Size() int {
   536  	return m.Size()
   537  }
   538  func (m *Span) XXX_DiscardUnknown() {
   539  	xxx_messageInfo_Span.DiscardUnknown(m)
   540  }
   541  
   542  var xxx_messageInfo_Span proto.InternalMessageInfo
   543  
   544  func (m *Span) GetTraceId() []byte {
   545  	if m != nil {
   546  		return m.TraceId
   547  	}
   548  	return nil
   549  }
   550  
   551  func (m *Span) GetSpanId() []byte {
   552  	if m != nil {
   553  		return m.SpanId
   554  	}
   555  	return nil
   556  }
   557  
   558  func (m *Span) GetTraceState() string {
   559  	if m != nil {
   560  		return m.TraceState
   561  	}
   562  	return ""
   563  }
   564  
   565  func (m *Span) GetParentSpanId() []byte {
   566  	if m != nil {
   567  		return m.ParentSpanId
   568  	}
   569  	return nil
   570  }
   571  
   572  func (m *Span) GetName() string {
   573  	if m != nil {
   574  		return m.Name
   575  	}
   576  	return ""
   577  }
   578  
   579  func (m *Span) GetKind() Span_SpanKind {
   580  	if m != nil {
   581  		return m.Kind
   582  	}
   583  	return Span_SPAN_KIND_UNSPECIFIED
   584  }
   585  
   586  func (m *Span) GetStartTimeUnixNano() uint64 {
   587  	if m != nil {
   588  		return m.StartTimeUnixNano
   589  	}
   590  	return 0
   591  }
   592  
   593  func (m *Span) GetEndTimeUnixNano() uint64 {
   594  	if m != nil {
   595  		return m.EndTimeUnixNano
   596  	}
   597  	return 0
   598  }
   599  
   600  func (m *Span) GetAttributes() []*v11.KeyValue {
   601  	if m != nil {
   602  		return m.Attributes
   603  	}
   604  	return nil
   605  }
   606  
   607  func (m *Span) GetDroppedAttributesCount() uint32 {
   608  	if m != nil {
   609  		return m.DroppedAttributesCount
   610  	}
   611  	return 0
   612  }
   613  
   614  func (m *Span) GetEvents() []*Span_Event {
   615  	if m != nil {
   616  		return m.Events
   617  	}
   618  	return nil
   619  }
   620  
   621  func (m *Span) GetDroppedEventsCount() uint32 {
   622  	if m != nil {
   623  		return m.DroppedEventsCount
   624  	}
   625  	return 0
   626  }
   627  
   628  func (m *Span) GetLinks() []*Span_Link {
   629  	if m != nil {
   630  		return m.Links
   631  	}
   632  	return nil
   633  }
   634  
   635  func (m *Span) GetDroppedLinksCount() uint32 {
   636  	if m != nil {
   637  		return m.DroppedLinksCount
   638  	}
   639  	return 0
   640  }
   641  
   642  func (m *Span) GetStatus() *Status {
   643  	if m != nil {
   644  		return m.Status
   645  	}
   646  	return nil
   647  }
   648  
   649  // Event is a time-stamped annotation of the span, consisting of user-supplied
   650  // text description and key-value pairs.
   651  type Span_Event struct {
   652  	// time_unix_nano is the time the event occurred.
   653  	TimeUnixNano uint64 `protobuf:"fixed64,1,opt,name=time_unix_nano,json=timeUnixNano,proto3" json:"time_unix_nano,omitempty"`
   654  	// name of the event.
   655  	// This field is semantically required to be set to non-empty string.
   656  	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
   657  	// attributes is a collection of attribute key/value pairs on the event.
   658  	// Attribute keys MUST be unique (it is not allowed to have more than one
   659  	// attribute with the same key).
   660  	Attributes []*v11.KeyValue `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty"`
   661  	// dropped_attributes_count is the number of dropped attributes. If the value is 0,
   662  	// then no attributes were dropped.
   663  	DroppedAttributesCount uint32 `protobuf:"varint,4,opt,name=dropped_attributes_count,json=droppedAttributesCount,proto3" json:"dropped_attributes_count,omitempty"`
   664  }
   665  
   666  func (m *Span_Event) Reset()         { *m = Span_Event{} }
   667  func (m *Span_Event) String() string { return proto.CompactTextString(m) }
   668  func (*Span_Event) ProtoMessage()    {}
   669  func (*Span_Event) Descriptor() ([]byte, []int) {
   670  	return fileDescriptor_a52825641200f25e, []int{4, 0}
   671  }
   672  func (m *Span_Event) XXX_Unmarshal(b []byte) error {
   673  	return m.Unmarshal(b)
   674  }
   675  func (m *Span_Event) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   676  	if deterministic {
   677  		return xxx_messageInfo_Span_Event.Marshal(b, m, deterministic)
   678  	} else {
   679  		b = b[:cap(b)]
   680  		n, err := m.MarshalToSizedBuffer(b)
   681  		if err != nil {
   682  			return nil, err
   683  		}
   684  		return b[:n], nil
   685  	}
   686  }
   687  func (m *Span_Event) XXX_Merge(src proto.Message) {
   688  	xxx_messageInfo_Span_Event.Merge(m, src)
   689  }
   690  func (m *Span_Event) XXX_Size() int {
   691  	return m.Size()
   692  }
   693  func (m *Span_Event) XXX_DiscardUnknown() {
   694  	xxx_messageInfo_Span_Event.DiscardUnknown(m)
   695  }
   696  
   697  var xxx_messageInfo_Span_Event proto.InternalMessageInfo
   698  
   699  func (m *Span_Event) GetTimeUnixNano() uint64 {
   700  	if m != nil {
   701  		return m.TimeUnixNano
   702  	}
   703  	return 0
   704  }
   705  
   706  func (m *Span_Event) GetName() string {
   707  	if m != nil {
   708  		return m.Name
   709  	}
   710  	return ""
   711  }
   712  
   713  func (m *Span_Event) GetAttributes() []*v11.KeyValue {
   714  	if m != nil {
   715  		return m.Attributes
   716  	}
   717  	return nil
   718  }
   719  
   720  func (m *Span_Event) GetDroppedAttributesCount() uint32 {
   721  	if m != nil {
   722  		return m.DroppedAttributesCount
   723  	}
   724  	return 0
   725  }
   726  
   727  // A pointer from the current span to another span in the same trace or in a
   728  // different trace. For example, this can be used in batching operations,
   729  // where a single batch handler processes multiple requests from different
   730  // traces or when the handler receives a request from a different project.
   731  type Span_Link struct {
   732  	// A unique identifier of a trace that this linked span is part of. The ID is a
   733  	// 16-byte array.
   734  	TraceId []byte `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
   735  	// A unique identifier for the linked span. The ID is an 8-byte array.
   736  	SpanId []byte `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"`
   737  	// The trace_state associated with the link.
   738  	TraceState string `protobuf:"bytes,3,opt,name=trace_state,json=traceState,proto3" json:"trace_state,omitempty"`
   739  	// attributes is a collection of attribute key/value pairs on the link.
   740  	// Attribute keys MUST be unique (it is not allowed to have more than one
   741  	// attribute with the same key).
   742  	Attributes []*v11.KeyValue `protobuf:"bytes,4,rep,name=attributes,proto3" json:"attributes,omitempty"`
   743  	// dropped_attributes_count is the number of dropped attributes. If the value is 0,
   744  	// then no attributes were dropped.
   745  	DroppedAttributesCount uint32 `protobuf:"varint,5,opt,name=dropped_attributes_count,json=droppedAttributesCount,proto3" json:"dropped_attributes_count,omitempty"`
   746  }
   747  
   748  func (m *Span_Link) Reset()         { *m = Span_Link{} }
   749  func (m *Span_Link) String() string { return proto.CompactTextString(m) }
   750  func (*Span_Link) ProtoMessage()    {}
   751  func (*Span_Link) Descriptor() ([]byte, []int) {
   752  	return fileDescriptor_a52825641200f25e, []int{4, 1}
   753  }
   754  func (m *Span_Link) XXX_Unmarshal(b []byte) error {
   755  	return m.Unmarshal(b)
   756  }
   757  func (m *Span_Link) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   758  	if deterministic {
   759  		return xxx_messageInfo_Span_Link.Marshal(b, m, deterministic)
   760  	} else {
   761  		b = b[:cap(b)]
   762  		n, err := m.MarshalToSizedBuffer(b)
   763  		if err != nil {
   764  			return nil, err
   765  		}
   766  		return b[:n], nil
   767  	}
   768  }
   769  func (m *Span_Link) XXX_Merge(src proto.Message) {
   770  	xxx_messageInfo_Span_Link.Merge(m, src)
   771  }
   772  func (m *Span_Link) XXX_Size() int {
   773  	return m.Size()
   774  }
   775  func (m *Span_Link) XXX_DiscardUnknown() {
   776  	xxx_messageInfo_Span_Link.DiscardUnknown(m)
   777  }
   778  
   779  var xxx_messageInfo_Span_Link proto.InternalMessageInfo
   780  
   781  func (m *Span_Link) GetTraceId() []byte {
   782  	if m != nil {
   783  		return m.TraceId
   784  	}
   785  	return nil
   786  }
   787  
   788  func (m *Span_Link) GetSpanId() []byte {
   789  	if m != nil {
   790  		return m.SpanId
   791  	}
   792  	return nil
   793  }
   794  
   795  func (m *Span_Link) GetTraceState() string {
   796  	if m != nil {
   797  		return m.TraceState
   798  	}
   799  	return ""
   800  }
   801  
   802  func (m *Span_Link) GetAttributes() []*v11.KeyValue {
   803  	if m != nil {
   804  		return m.Attributes
   805  	}
   806  	return nil
   807  }
   808  
   809  func (m *Span_Link) GetDroppedAttributesCount() uint32 {
   810  	if m != nil {
   811  		return m.DroppedAttributesCount
   812  	}
   813  	return 0
   814  }
   815  
   816  // The Status type defines a logical error model that is suitable for different
   817  // programming environments, including REST APIs and RPC APIs.
   818  type Status struct {
   819  	// A developer-facing human readable error message.
   820  	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
   821  	// The status code.
   822  	Code Status_StatusCode `protobuf:"varint,3,opt,name=code,proto3,enum=tempopb.trace.v1.Status_StatusCode" json:"code,omitempty"`
   823  }
   824  
   825  func (m *Status) Reset()         { *m = Status{} }
   826  func (m *Status) String() string { return proto.CompactTextString(m) }
   827  func (*Status) ProtoMessage()    {}
   828  func (*Status) Descriptor() ([]byte, []int) {
   829  	return fileDescriptor_a52825641200f25e, []int{5}
   830  }
   831  func (m *Status) XXX_Unmarshal(b []byte) error {
   832  	return m.Unmarshal(b)
   833  }
   834  func (m *Status) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
   835  	if deterministic {
   836  		return xxx_messageInfo_Status.Marshal(b, m, deterministic)
   837  	} else {
   838  		b = b[:cap(b)]
   839  		n, err := m.MarshalToSizedBuffer(b)
   840  		if err != nil {
   841  			return nil, err
   842  		}
   843  		return b[:n], nil
   844  	}
   845  }
   846  func (m *Status) XXX_Merge(src proto.Message) {
   847  	xxx_messageInfo_Status.Merge(m, src)
   848  }
   849  func (m *Status) XXX_Size() int {
   850  	return m.Size()
   851  }
   852  func (m *Status) XXX_DiscardUnknown() {
   853  	xxx_messageInfo_Status.DiscardUnknown(m)
   854  }
   855  
   856  var xxx_messageInfo_Status proto.InternalMessageInfo
   857  
   858  func (m *Status) GetMessage() string {
   859  	if m != nil {
   860  		return m.Message
   861  	}
   862  	return ""
   863  }
   864  
   865  func (m *Status) GetCode() Status_StatusCode {
   866  	if m != nil {
   867  		return m.Code
   868  	}
   869  	return Status_STATUS_CODE_UNSET
   870  }
   871  
   872  func init() {
   873  	proto.RegisterEnum("tempopb.trace.v1.Span_SpanKind", Span_SpanKind_name, Span_SpanKind_value)
   874  	proto.RegisterEnum("tempopb.trace.v1.Status_StatusCode", Status_StatusCode_name, Status_StatusCode_value)
   875  	proto.RegisterType((*TracesData)(nil), "tempopb.trace.v1.TracesData")
   876  	proto.RegisterType((*ResourceSpans)(nil), "tempopb.trace.v1.ResourceSpans")
   877  	proto.RegisterType((*ScopeSpans)(nil), "tempopb.trace.v1.ScopeSpans")
   878  	proto.RegisterType((*InstrumentationLibrarySpans)(nil), "tempopb.trace.v1.InstrumentationLibrarySpans")
   879  	proto.RegisterType((*Span)(nil), "tempopb.trace.v1.Span")
   880  	proto.RegisterType((*Span_Event)(nil), "tempopb.trace.v1.Span.Event")
   881  	proto.RegisterType((*Span_Link)(nil), "tempopb.trace.v1.Span.Link")
   882  	proto.RegisterType((*Status)(nil), "tempopb.trace.v1.Status")
   883  }
   884  
   885  func init() { proto.RegisterFile("trace/v1/trace.proto", fileDescriptor_a52825641200f25e) }
   886  
   887  var fileDescriptor_a52825641200f25e = []byte{
   888  	// 966 bytes of a gzipped FileDescriptorProto
   889  	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x56, 0xcd, 0x6e, 0xdb, 0x46,
   890  	0x17, 0xf5, 0xc8, 0xd4, 0x8f, 0xaf, 0x6c, 0x85, 0x9e, 0xcf, 0x51, 0x18, 0xf9, 0xb3, 0x2c, 0xa8,
   891  	0x05, 0xaa, 0xa2, 0x8d, 0x14, 0x3b, 0x05, 0xfa, 0x87, 0x2c, 0x6c, 0x89, 0x01, 0x54, 0xbb, 0x92,
   892  	0x30, 0x94, 0xb2, 0xe8, 0x86, 0x18, 0x89, 0x53, 0x87, 0xb0, 0x38, 0x24, 0xc8, 0x91, 0x10, 0xbf,
   893  	0x45, 0x97, 0xed, 0xae, 0xaf, 0xd0, 0x5d, 0x1f, 0x21, 0xcb, 0x20, 0xab, 0x2e, 0x0b, 0x7b, 0xd3,
   894  	0xc7, 0x28, 0x38, 0x24, 0xf5, 0x67, 0xd9, 0xd9, 0xb8, 0x1b, 0x69, 0xe6, 0xdc, 0x73, 0xcf, 0x3d,
   895  	0x77, 0xee, 0x0c, 0x40, 0xd8, 0x13, 0x3e, 0x1d, 0xb1, 0xc6, 0xf4, 0xa8, 0x21, 0x17, 0x75, 0xcf,
   896  	0x77, 0x85, 0x8b, 0x55, 0xc1, 0x1c, 0xcf, 0xf5, 0x86, 0xf5, 0x08, 0x9c, 0x1e, 0x95, 0x8a, 0x23,
   897  	0xd7, 0x71, 0x5c, 0x1e, 0x12, 0xa3, 0x55, 0xc4, 0x2c, 0x95, 0x7c, 0x16, 0xb8, 0x13, 0x3f, 0x92,
   898  	0x48, 0xd6, 0x51, 0xac, 0xda, 0x07, 0xe8, 0x87, 0xf9, 0x41, 0x8b, 0x0a, 0x8a, 0x5f, 0x41, 0x21,
   899  	0x89, 0x9b, 0x81, 0x47, 0x79, 0xa0, 0xa1, 0xca, 0x66, 0x2d, 0x7f, 0x7c, 0x58, 0x5f, 0x2d, 0x56,
   900  	0x27, 0x31, 0xcf, 0x08, 0x69, 0x64, 0xc7, 0x5f, 0xdc, 0x56, 0x7f, 0x4f, 0xc1, 0xce, 0x12, 0x01,
   901  	0x7f, 0x0b, 0xb9, 0x84, 0xa2, 0xa1, 0x0a, 0xaa, 0xe5, 0x8f, 0x0f, 0x66, 0x9a, 0x33, 0x4b, 0x0b,
   902  	0xb2, 0x64, 0x46, 0xc7, 0x2f, 0x21, 0x1f, 0x8c, 0x5c, 0x2f, 0x71, 0x94, 0x92, 0x8e, 0xfe, 0x7f,
   903  	0xdb, 0x91, 0x11, 0x92, 0x22, 0x3b, 0x10, 0xcc, 0xd6, 0x78, 0x0a, 0x07, 0x36, 0x0f, 0x84, 0x3f,
   904  	0x71, 0x18, 0x17, 0x54, 0xd8, 0x2e, 0x37, 0xc7, 0xf6, 0xd0, 0xa7, 0xfe, 0x55, 0x2c, 0xf8, 0x4f,
   905  	0x56, 0x2a, 0x3e, 0xbb, 0xad, 0xd8, 0x5e, 0xce, 0x3b, 0x8f, 0xd2, 0xa4, 0xec, 0x69, 0x4a, 0x43,
   906  	0x64, 0xdf, 0xbe, 0x9b, 0x80, 0x0f, 0x00, 0x82, 0xd1, 0x1b, 0xe6, 0x50, 0x73, 0xe2, 0x8f, 0xb5,
   907  	0xcd, 0x0a, 0xaa, 0x6d, 0x91, 0xad, 0x08, 0x19, 0xf8, 0xe3, 0xea, 0xaf, 0x08, 0x60, 0xee, 0x18,
   908  	0xbf, 0x84, 0xb4, 0xf4, 0x1c, 0x1f, 0xce, 0x67, 0x33, 0x33, 0xf1, 0x24, 0x6f, 0xbb, 0x91, 0xc9,
   909  	0x24, 0xca, 0xc2, 0x5f, 0x42, 0x7a, 0xf1, 0x74, 0x8a, 0x6b, 0x4e, 0xc7, 0xa3, 0x9c, 0x44, 0xa4,
   910  	0x8f, 0x59, 0xfb, 0x80, 0x60, 0xff, 0x9e, 0xd6, 0xf1, 0x10, 0x9e, 0xdc, 0x71, 0xa2, 0xb1, 0xfb,
   911  	0xcf, 0x3f, 0xee, 0x3e, 0x16, 0x24, 0xc5, 0xf5, 0x47, 0xf8, 0xa0, 0x0d, 0x7d, 0x97, 0xd2, 0x50,
   912  	0xf5, 0xdd, 0x16, 0x28, 0x61, 0x0a, 0x7e, 0x0a, 0x39, 0xa9, 0x61, 0xda, 0x96, 0xb4, 0xbb, 0x4d,
   913  	0xb2, 0x72, 0xdf, 0xb6, 0xf0, 0x13, 0xc8, 0x86, 0x7a, 0x61, 0x24, 0x25, 0x23, 0x99, 0x70, 0xdb,
   914  	0xb6, 0xf0, 0x21, 0xe4, 0xa3, 0x9c, 0x40, 0x50, 0xc1, 0xe2, 0x02, 0x20, 0x21, 0x23, 0x44, 0xf0,
   915  	0xa7, 0x50, 0xf0, 0xa8, 0xcf, 0xb8, 0x30, 0x13, 0x01, 0x45, 0x0a, 0x6c, 0x47, 0xa8, 0x11, 0xc9,
   916  	0x60, 0x50, 0x38, 0x75, 0x98, 0x96, 0x96, 0xf9, 0x72, 0x8d, 0x5f, 0x80, 0x72, 0x69, 0x73, 0x4b,
   917  	0xcb, 0x54, 0x50, 0xad, 0xb0, 0xee, 0xa1, 0x85, 0xb9, 0xf2, 0xe7, 0xcc, 0xe6, 0x16, 0x91, 0x64,
   918  	0xdc, 0x80, 0xbd, 0x40, 0x50, 0x5f, 0x98, 0xc2, 0x76, 0x98, 0x39, 0xe1, 0xf6, 0x5b, 0x93, 0x53,
   919  	0xee, 0x6a, 0xd9, 0x0a, 0xaa, 0x65, 0xc8, 0xae, 0x8c, 0xf5, 0x6d, 0x87, 0x0d, 0xb8, 0xfd, 0xb6,
   920  	0x43, 0xb9, 0x8b, 0xbf, 0x00, 0xcc, 0xb8, 0xb5, 0x4a, 0xcf, 0x49, 0xfa, 0x23, 0xc6, 0xad, 0x25,
   921  	0xf2, 0xf7, 0x00, 0x54, 0x08, 0xdf, 0x1e, 0x4e, 0x04, 0x0b, 0xb4, 0x2d, 0x39, 0x80, 0xfd, 0x35,
   922  	0x23, 0x3d, 0x63, 0x57, 0xaf, 0xe9, 0x78, 0xc2, 0xc8, 0x02, 0x1d, 0x7f, 0x03, 0x9a, 0xe5, 0xbb,
   923  	0x9e, 0xc7, 0x2c, 0x73, 0x8e, 0x9a, 0x23, 0x77, 0xc2, 0x85, 0x06, 0x15, 0x54, 0xdb, 0x21, 0xc5,
   924  	0x38, 0x7e, 0x32, 0x0b, 0x37, 0xc3, 0x28, 0xfe, 0x0a, 0x32, 0x6c, 0xca, 0xb8, 0x08, 0xb4, 0xfc,
   925  	0x9d, 0x4f, 0x3c, 0x3c, 0x0b, 0x3d, 0x24, 0x91, 0x98, 0x8b, 0x9f, 0xc3, 0x5e, 0x52, 0x2f, 0x42,
   926  	0xe2, 0x5a, 0xdb, 0xb2, 0x16, 0x8e, 0x63, 0x32, 0x27, 0xae, 0x73, 0x04, 0xe9, 0xb1, 0xcd, 0x2f,
   927  	0x03, 0x6d, 0x67, 0xa5, 0xb3, 0xe5, 0x32, 0xe7, 0x36, 0xbf, 0x24, 0x11, 0x13, 0xd7, 0xe1, 0x7f,
   928  	0x49, 0x11, 0x09, 0xc4, 0x35, 0x0a, 0xb2, 0xc6, 0x6e, 0x1c, 0x0a, 0x13, 0xe2, 0x12, 0xcf, 0x21,
   929  	0x13, 0xde, 0x94, 0x49, 0xa0, 0x3d, 0x92, 0x0f, 0x42, 0x5b, 0x53, 0x43, 0xc6, 0x49, 0xcc, 0x2b,
   930  	0xfd, 0x89, 0x20, 0x2d, 0x4d, 0x86, 0x57, 0x69, 0x65, 0x4c, 0x48, 0x8e, 0x69, 0x5b, 0x2c, 0xce,
   931  	0x28, 0xb9, 0x4a, 0xa9, 0x85, 0xab, 0xb4, 0x3c, 0xb7, 0xcd, 0x87, 0x9b, 0x9b, 0x72, 0xdf, 0xdc,
   932  	0x4a, 0x1f, 0x10, 0x28, 0x61, 0xef, 0xff, 0xcd, 0xcb, 0x5a, 0x6e, 0x4a, 0x79, 0xb8, 0xa6, 0xd2,
   933  	0xf7, 0x35, 0x55, 0xfd, 0x0d, 0x41, 0x2e, 0x79, 0x74, 0xf8, 0x29, 0x3c, 0x36, 0x7a, 0x27, 0x1d,
   934  	0xf3, 0xac, 0xdd, 0x69, 0x99, 0x83, 0x8e, 0xd1, 0xd3, 0x9b, 0xed, 0x57, 0x6d, 0xbd, 0xa5, 0x6e,
   935  	0xe0, 0x22, 0xe0, 0x79, 0xa8, 0xdd, 0xe9, 0xeb, 0xa4, 0x73, 0x72, 0xae, 0x22, 0xbc, 0x07, 0xea,
   936  	0x1c, 0x37, 0x74, 0xf2, 0x5a, 0x27, 0x6a, 0x6a, 0x19, 0x6d, 0x9e, 0xb7, 0xf5, 0x4e, 0x5f, 0xdd,
   937  	0x5c, 0xd6, 0xe8, 0x91, 0x6e, 0x6b, 0xd0, 0xd4, 0x89, 0xaa, 0x2c, 0xe3, 0xcd, 0x6e, 0xc7, 0x18,
   938  	0xfc, 0xa8, 0x13, 0x35, 0x5d, 0xfd, 0x03, 0x41, 0x26, 0xba, 0x3e, 0x58, 0x83, 0xac, 0xc3, 0x82,
   939  	0x80, 0x5e, 0x24, 0x37, 0x21, 0xd9, 0xe2, 0xaf, 0x41, 0x19, 0xb9, 0x56, 0x74, 0xa2, 0x85, 0xe3,
   940  	0x4f, 0xee, 0xba, 0x80, 0xf1, 0x5f, 0xd3, 0xb5, 0x18, 0x91, 0x09, 0xd5, 0x0e, 0xc0, 0x1c, 0xc3,
   941  	0x8f, 0x61, 0xd7, 0xe8, 0x9f, 0xf4, 0x07, 0x86, 0xd9, 0xec, 0xb6, 0xf4, 0xb0, 0x79, 0xbd, 0xaf,
   942  	0x6e, 0x60, 0x0c, 0x85, 0x45, 0xb8, 0x7b, 0xa6, 0xa2, 0x55, 0xaa, 0x4e, 0x48, 0x97, 0xa8, 0xa9,
   943  	0x1f, 0x94, 0x1c, 0x52, 0x53, 0xa7, 0xd3, 0x77, 0xd7, 0x65, 0xf4, 0xfe, 0xba, 0x8c, 0xfe, 0xbe,
   944  	0x2e, 0xa3, 0x5f, 0x6e, 0xca, 0x1b, 0xef, 0x6f, 0xca, 0x1b, 0x7f, 0xdd, 0x94, 0x37, 0xe0, 0xd0,
   945  	0x76, 0xeb, 0xae, 0xc7, 0xb8, 0x60, 0x63, 0xe6, 0x30, 0xe1, 0x5f, 0x45, 0x5f, 0x26, 0x33, 0xa3,
   946  	0xa7, 0xd1, 0x07, 0x4a, 0x2f, 0x04, 0x7b, 0xe8, 0xa7, 0x67, 0x17, 0xb6, 0x78, 0x33, 0x91, 0x93,
   947  	0x6f, 0x5c, 0xf8, 0xf4, 0x67, 0xca, 0x69, 0x43, 0xf6, 0xd6, 0xf0, 0x2e, 0x2f, 0x1a, 0x71, 0x97,
   948  	0x8d, 0xe4, 0x8b, 0x69, 0x98, 0x91, 0x62, 0x2f, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x1c, 0x7e,
   949  	0x06, 0x45, 0x44, 0x09, 0x00, 0x00,
   950  }
   951  
   952  func (m *TracesData) Marshal() (dAtA []byte, err error) {
   953  	size := m.Size()
   954  	dAtA = make([]byte, size)
   955  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   956  	if err != nil {
   957  		return nil, err
   958  	}
   959  	return dAtA[:n], nil
   960  }
   961  
   962  func (m *TracesData) MarshalTo(dAtA []byte) (int, error) {
   963  	size := m.Size()
   964  	return m.MarshalToSizedBuffer(dAtA[:size])
   965  }
   966  
   967  func (m *TracesData) MarshalToSizedBuffer(dAtA []byte) (int, error) {
   968  	i := len(dAtA)
   969  	_ = i
   970  	var l int
   971  	_ = l
   972  	if len(m.ResourceSpans) > 0 {
   973  		for iNdEx := len(m.ResourceSpans) - 1; iNdEx >= 0; iNdEx-- {
   974  			{
   975  				size, err := m.ResourceSpans[iNdEx].MarshalToSizedBuffer(dAtA[:i])
   976  				if err != nil {
   977  					return 0, err
   978  				}
   979  				i -= size
   980  				i = encodeVarintTrace(dAtA, i, uint64(size))
   981  			}
   982  			i--
   983  			dAtA[i] = 0xa
   984  		}
   985  	}
   986  	return len(dAtA) - i, nil
   987  }
   988  
   989  func (m *ResourceSpans) Marshal() (dAtA []byte, err error) {
   990  	size := m.Size()
   991  	dAtA = make([]byte, size)
   992  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
   993  	if err != nil {
   994  		return nil, err
   995  	}
   996  	return dAtA[:n], nil
   997  }
   998  
   999  func (m *ResourceSpans) MarshalTo(dAtA []byte) (int, error) {
  1000  	size := m.Size()
  1001  	return m.MarshalToSizedBuffer(dAtA[:size])
  1002  }
  1003  
  1004  func (m *ResourceSpans) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1005  	i := len(dAtA)
  1006  	_ = i
  1007  	var l int
  1008  	_ = l
  1009  	if len(m.InstrumentationLibrarySpans) > 0 {
  1010  		for iNdEx := len(m.InstrumentationLibrarySpans) - 1; iNdEx >= 0; iNdEx-- {
  1011  			{
  1012  				size, err := m.InstrumentationLibrarySpans[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1013  				if err != nil {
  1014  					return 0, err
  1015  				}
  1016  				i -= size
  1017  				i = encodeVarintTrace(dAtA, i, uint64(size))
  1018  			}
  1019  			i--
  1020  			dAtA[i] = 0x3e
  1021  			i--
  1022  			dAtA[i] = 0xc2
  1023  		}
  1024  	}
  1025  	if len(m.SchemaUrl) > 0 {
  1026  		i -= len(m.SchemaUrl)
  1027  		copy(dAtA[i:], m.SchemaUrl)
  1028  		i = encodeVarintTrace(dAtA, i, uint64(len(m.SchemaUrl)))
  1029  		i--
  1030  		dAtA[i] = 0x1a
  1031  	}
  1032  	if len(m.ScopeSpans) > 0 {
  1033  		for iNdEx := len(m.ScopeSpans) - 1; iNdEx >= 0; iNdEx-- {
  1034  			{
  1035  				size, err := m.ScopeSpans[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1036  				if err != nil {
  1037  					return 0, err
  1038  				}
  1039  				i -= size
  1040  				i = encodeVarintTrace(dAtA, i, uint64(size))
  1041  			}
  1042  			i--
  1043  			dAtA[i] = 0x12
  1044  		}
  1045  	}
  1046  	if m.Resource != nil {
  1047  		{
  1048  			size, err := m.Resource.MarshalToSizedBuffer(dAtA[:i])
  1049  			if err != nil {
  1050  				return 0, err
  1051  			}
  1052  			i -= size
  1053  			i = encodeVarintTrace(dAtA, i, uint64(size))
  1054  		}
  1055  		i--
  1056  		dAtA[i] = 0xa
  1057  	}
  1058  	return len(dAtA) - i, nil
  1059  }
  1060  
  1061  func (m *ScopeSpans) Marshal() (dAtA []byte, err error) {
  1062  	size := m.Size()
  1063  	dAtA = make([]byte, size)
  1064  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1065  	if err != nil {
  1066  		return nil, err
  1067  	}
  1068  	return dAtA[:n], nil
  1069  }
  1070  
  1071  func (m *ScopeSpans) MarshalTo(dAtA []byte) (int, error) {
  1072  	size := m.Size()
  1073  	return m.MarshalToSizedBuffer(dAtA[:size])
  1074  }
  1075  
  1076  func (m *ScopeSpans) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1077  	i := len(dAtA)
  1078  	_ = i
  1079  	var l int
  1080  	_ = l
  1081  	if len(m.SchemaUrl) > 0 {
  1082  		i -= len(m.SchemaUrl)
  1083  		copy(dAtA[i:], m.SchemaUrl)
  1084  		i = encodeVarintTrace(dAtA, i, uint64(len(m.SchemaUrl)))
  1085  		i--
  1086  		dAtA[i] = 0x1a
  1087  	}
  1088  	if len(m.Spans) > 0 {
  1089  		for iNdEx := len(m.Spans) - 1; iNdEx >= 0; iNdEx-- {
  1090  			{
  1091  				size, err := m.Spans[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1092  				if err != nil {
  1093  					return 0, err
  1094  				}
  1095  				i -= size
  1096  				i = encodeVarintTrace(dAtA, i, uint64(size))
  1097  			}
  1098  			i--
  1099  			dAtA[i] = 0x12
  1100  		}
  1101  	}
  1102  	if m.Scope != nil {
  1103  		{
  1104  			size, err := m.Scope.MarshalToSizedBuffer(dAtA[:i])
  1105  			if err != nil {
  1106  				return 0, err
  1107  			}
  1108  			i -= size
  1109  			i = encodeVarintTrace(dAtA, i, uint64(size))
  1110  		}
  1111  		i--
  1112  		dAtA[i] = 0xa
  1113  	}
  1114  	return len(dAtA) - i, nil
  1115  }
  1116  
  1117  func (m *InstrumentationLibrarySpans) Marshal() (dAtA []byte, err error) {
  1118  	size := m.Size()
  1119  	dAtA = make([]byte, size)
  1120  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1121  	if err != nil {
  1122  		return nil, err
  1123  	}
  1124  	return dAtA[:n], nil
  1125  }
  1126  
  1127  func (m *InstrumentationLibrarySpans) MarshalTo(dAtA []byte) (int, error) {
  1128  	size := m.Size()
  1129  	return m.MarshalToSizedBuffer(dAtA[:size])
  1130  }
  1131  
  1132  func (m *InstrumentationLibrarySpans) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1133  	i := len(dAtA)
  1134  	_ = i
  1135  	var l int
  1136  	_ = l
  1137  	if len(m.SchemaUrl) > 0 {
  1138  		i -= len(m.SchemaUrl)
  1139  		copy(dAtA[i:], m.SchemaUrl)
  1140  		i = encodeVarintTrace(dAtA, i, uint64(len(m.SchemaUrl)))
  1141  		i--
  1142  		dAtA[i] = 0x1a
  1143  	}
  1144  	if len(m.Spans) > 0 {
  1145  		for iNdEx := len(m.Spans) - 1; iNdEx >= 0; iNdEx-- {
  1146  			{
  1147  				size, err := m.Spans[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1148  				if err != nil {
  1149  					return 0, err
  1150  				}
  1151  				i -= size
  1152  				i = encodeVarintTrace(dAtA, i, uint64(size))
  1153  			}
  1154  			i--
  1155  			dAtA[i] = 0x12
  1156  		}
  1157  	}
  1158  	if m.InstrumentationLibrary != nil {
  1159  		{
  1160  			size, err := m.InstrumentationLibrary.MarshalToSizedBuffer(dAtA[:i])
  1161  			if err != nil {
  1162  				return 0, err
  1163  			}
  1164  			i -= size
  1165  			i = encodeVarintTrace(dAtA, i, uint64(size))
  1166  		}
  1167  		i--
  1168  		dAtA[i] = 0xa
  1169  	}
  1170  	return len(dAtA) - i, nil
  1171  }
  1172  
  1173  func (m *Span) Marshal() (dAtA []byte, err error) {
  1174  	size := m.Size()
  1175  	dAtA = make([]byte, size)
  1176  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1177  	if err != nil {
  1178  		return nil, err
  1179  	}
  1180  	return dAtA[:n], nil
  1181  }
  1182  
  1183  func (m *Span) MarshalTo(dAtA []byte) (int, error) {
  1184  	size := m.Size()
  1185  	return m.MarshalToSizedBuffer(dAtA[:size])
  1186  }
  1187  
  1188  func (m *Span) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1189  	i := len(dAtA)
  1190  	_ = i
  1191  	var l int
  1192  	_ = l
  1193  	if m.Status != nil {
  1194  		{
  1195  			size, err := m.Status.MarshalToSizedBuffer(dAtA[:i])
  1196  			if err != nil {
  1197  				return 0, err
  1198  			}
  1199  			i -= size
  1200  			i = encodeVarintTrace(dAtA, i, uint64(size))
  1201  		}
  1202  		i--
  1203  		dAtA[i] = 0x7a
  1204  	}
  1205  	if m.DroppedLinksCount != 0 {
  1206  		i = encodeVarintTrace(dAtA, i, uint64(m.DroppedLinksCount))
  1207  		i--
  1208  		dAtA[i] = 0x70
  1209  	}
  1210  	if len(m.Links) > 0 {
  1211  		for iNdEx := len(m.Links) - 1; iNdEx >= 0; iNdEx-- {
  1212  			{
  1213  				size, err := m.Links[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1214  				if err != nil {
  1215  					return 0, err
  1216  				}
  1217  				i -= size
  1218  				i = encodeVarintTrace(dAtA, i, uint64(size))
  1219  			}
  1220  			i--
  1221  			dAtA[i] = 0x6a
  1222  		}
  1223  	}
  1224  	if m.DroppedEventsCount != 0 {
  1225  		i = encodeVarintTrace(dAtA, i, uint64(m.DroppedEventsCount))
  1226  		i--
  1227  		dAtA[i] = 0x60
  1228  	}
  1229  	if len(m.Events) > 0 {
  1230  		for iNdEx := len(m.Events) - 1; iNdEx >= 0; iNdEx-- {
  1231  			{
  1232  				size, err := m.Events[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1233  				if err != nil {
  1234  					return 0, err
  1235  				}
  1236  				i -= size
  1237  				i = encodeVarintTrace(dAtA, i, uint64(size))
  1238  			}
  1239  			i--
  1240  			dAtA[i] = 0x5a
  1241  		}
  1242  	}
  1243  	if m.DroppedAttributesCount != 0 {
  1244  		i = encodeVarintTrace(dAtA, i, uint64(m.DroppedAttributesCount))
  1245  		i--
  1246  		dAtA[i] = 0x50
  1247  	}
  1248  	if len(m.Attributes) > 0 {
  1249  		for iNdEx := len(m.Attributes) - 1; iNdEx >= 0; iNdEx-- {
  1250  			{
  1251  				size, err := m.Attributes[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1252  				if err != nil {
  1253  					return 0, err
  1254  				}
  1255  				i -= size
  1256  				i = encodeVarintTrace(dAtA, i, uint64(size))
  1257  			}
  1258  			i--
  1259  			dAtA[i] = 0x4a
  1260  		}
  1261  	}
  1262  	if m.EndTimeUnixNano != 0 {
  1263  		i -= 8
  1264  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.EndTimeUnixNano))
  1265  		i--
  1266  		dAtA[i] = 0x41
  1267  	}
  1268  	if m.StartTimeUnixNano != 0 {
  1269  		i -= 8
  1270  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.StartTimeUnixNano))
  1271  		i--
  1272  		dAtA[i] = 0x39
  1273  	}
  1274  	if m.Kind != 0 {
  1275  		i = encodeVarintTrace(dAtA, i, uint64(m.Kind))
  1276  		i--
  1277  		dAtA[i] = 0x30
  1278  	}
  1279  	if len(m.Name) > 0 {
  1280  		i -= len(m.Name)
  1281  		copy(dAtA[i:], m.Name)
  1282  		i = encodeVarintTrace(dAtA, i, uint64(len(m.Name)))
  1283  		i--
  1284  		dAtA[i] = 0x2a
  1285  	}
  1286  	if len(m.ParentSpanId) > 0 {
  1287  		i -= len(m.ParentSpanId)
  1288  		copy(dAtA[i:], m.ParentSpanId)
  1289  		i = encodeVarintTrace(dAtA, i, uint64(len(m.ParentSpanId)))
  1290  		i--
  1291  		dAtA[i] = 0x22
  1292  	}
  1293  	if len(m.TraceState) > 0 {
  1294  		i -= len(m.TraceState)
  1295  		copy(dAtA[i:], m.TraceState)
  1296  		i = encodeVarintTrace(dAtA, i, uint64(len(m.TraceState)))
  1297  		i--
  1298  		dAtA[i] = 0x1a
  1299  	}
  1300  	if len(m.SpanId) > 0 {
  1301  		i -= len(m.SpanId)
  1302  		copy(dAtA[i:], m.SpanId)
  1303  		i = encodeVarintTrace(dAtA, i, uint64(len(m.SpanId)))
  1304  		i--
  1305  		dAtA[i] = 0x12
  1306  	}
  1307  	if len(m.TraceId) > 0 {
  1308  		i -= len(m.TraceId)
  1309  		copy(dAtA[i:], m.TraceId)
  1310  		i = encodeVarintTrace(dAtA, i, uint64(len(m.TraceId)))
  1311  		i--
  1312  		dAtA[i] = 0xa
  1313  	}
  1314  	return len(dAtA) - i, nil
  1315  }
  1316  
  1317  func (m *Span_Event) Marshal() (dAtA []byte, err error) {
  1318  	size := m.Size()
  1319  	dAtA = make([]byte, size)
  1320  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1321  	if err != nil {
  1322  		return nil, err
  1323  	}
  1324  	return dAtA[:n], nil
  1325  }
  1326  
  1327  func (m *Span_Event) MarshalTo(dAtA []byte) (int, error) {
  1328  	size := m.Size()
  1329  	return m.MarshalToSizedBuffer(dAtA[:size])
  1330  }
  1331  
  1332  func (m *Span_Event) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1333  	i := len(dAtA)
  1334  	_ = i
  1335  	var l int
  1336  	_ = l
  1337  	if m.DroppedAttributesCount != 0 {
  1338  		i = encodeVarintTrace(dAtA, i, uint64(m.DroppedAttributesCount))
  1339  		i--
  1340  		dAtA[i] = 0x20
  1341  	}
  1342  	if len(m.Attributes) > 0 {
  1343  		for iNdEx := len(m.Attributes) - 1; iNdEx >= 0; iNdEx-- {
  1344  			{
  1345  				size, err := m.Attributes[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1346  				if err != nil {
  1347  					return 0, err
  1348  				}
  1349  				i -= size
  1350  				i = encodeVarintTrace(dAtA, i, uint64(size))
  1351  			}
  1352  			i--
  1353  			dAtA[i] = 0x1a
  1354  		}
  1355  	}
  1356  	if len(m.Name) > 0 {
  1357  		i -= len(m.Name)
  1358  		copy(dAtA[i:], m.Name)
  1359  		i = encodeVarintTrace(dAtA, i, uint64(len(m.Name)))
  1360  		i--
  1361  		dAtA[i] = 0x12
  1362  	}
  1363  	if m.TimeUnixNano != 0 {
  1364  		i -= 8
  1365  		encoding_binary.LittleEndian.PutUint64(dAtA[i:], uint64(m.TimeUnixNano))
  1366  		i--
  1367  		dAtA[i] = 0x9
  1368  	}
  1369  	return len(dAtA) - i, nil
  1370  }
  1371  
  1372  func (m *Span_Link) Marshal() (dAtA []byte, err error) {
  1373  	size := m.Size()
  1374  	dAtA = make([]byte, size)
  1375  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1376  	if err != nil {
  1377  		return nil, err
  1378  	}
  1379  	return dAtA[:n], nil
  1380  }
  1381  
  1382  func (m *Span_Link) MarshalTo(dAtA []byte) (int, error) {
  1383  	size := m.Size()
  1384  	return m.MarshalToSizedBuffer(dAtA[:size])
  1385  }
  1386  
  1387  func (m *Span_Link) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1388  	i := len(dAtA)
  1389  	_ = i
  1390  	var l int
  1391  	_ = l
  1392  	if m.DroppedAttributesCount != 0 {
  1393  		i = encodeVarintTrace(dAtA, i, uint64(m.DroppedAttributesCount))
  1394  		i--
  1395  		dAtA[i] = 0x28
  1396  	}
  1397  	if len(m.Attributes) > 0 {
  1398  		for iNdEx := len(m.Attributes) - 1; iNdEx >= 0; iNdEx-- {
  1399  			{
  1400  				size, err := m.Attributes[iNdEx].MarshalToSizedBuffer(dAtA[:i])
  1401  				if err != nil {
  1402  					return 0, err
  1403  				}
  1404  				i -= size
  1405  				i = encodeVarintTrace(dAtA, i, uint64(size))
  1406  			}
  1407  			i--
  1408  			dAtA[i] = 0x22
  1409  		}
  1410  	}
  1411  	if len(m.TraceState) > 0 {
  1412  		i -= len(m.TraceState)
  1413  		copy(dAtA[i:], m.TraceState)
  1414  		i = encodeVarintTrace(dAtA, i, uint64(len(m.TraceState)))
  1415  		i--
  1416  		dAtA[i] = 0x1a
  1417  	}
  1418  	if len(m.SpanId) > 0 {
  1419  		i -= len(m.SpanId)
  1420  		copy(dAtA[i:], m.SpanId)
  1421  		i = encodeVarintTrace(dAtA, i, uint64(len(m.SpanId)))
  1422  		i--
  1423  		dAtA[i] = 0x12
  1424  	}
  1425  	if len(m.TraceId) > 0 {
  1426  		i -= len(m.TraceId)
  1427  		copy(dAtA[i:], m.TraceId)
  1428  		i = encodeVarintTrace(dAtA, i, uint64(len(m.TraceId)))
  1429  		i--
  1430  		dAtA[i] = 0xa
  1431  	}
  1432  	return len(dAtA) - i, nil
  1433  }
  1434  
  1435  func (m *Status) Marshal() (dAtA []byte, err error) {
  1436  	size := m.Size()
  1437  	dAtA = make([]byte, size)
  1438  	n, err := m.MarshalToSizedBuffer(dAtA[:size])
  1439  	if err != nil {
  1440  		return nil, err
  1441  	}
  1442  	return dAtA[:n], nil
  1443  }
  1444  
  1445  func (m *Status) MarshalTo(dAtA []byte) (int, error) {
  1446  	size := m.Size()
  1447  	return m.MarshalToSizedBuffer(dAtA[:size])
  1448  }
  1449  
  1450  func (m *Status) MarshalToSizedBuffer(dAtA []byte) (int, error) {
  1451  	i := len(dAtA)
  1452  	_ = i
  1453  	var l int
  1454  	_ = l
  1455  	if m.Code != 0 {
  1456  		i = encodeVarintTrace(dAtA, i, uint64(m.Code))
  1457  		i--
  1458  		dAtA[i] = 0x18
  1459  	}
  1460  	if len(m.Message) > 0 {
  1461  		i -= len(m.Message)
  1462  		copy(dAtA[i:], m.Message)
  1463  		i = encodeVarintTrace(dAtA, i, uint64(len(m.Message)))
  1464  		i--
  1465  		dAtA[i] = 0x12
  1466  	}
  1467  	return len(dAtA) - i, nil
  1468  }
  1469  
  1470  func encodeVarintTrace(dAtA []byte, offset int, v uint64) int {
  1471  	offset -= sovTrace(v)
  1472  	base := offset
  1473  	for v >= 1<<7 {
  1474  		dAtA[offset] = uint8(v&0x7f | 0x80)
  1475  		v >>= 7
  1476  		offset++
  1477  	}
  1478  	dAtA[offset] = uint8(v)
  1479  	return base
  1480  }
  1481  func (m *TracesData) Size() (n int) {
  1482  	if m == nil {
  1483  		return 0
  1484  	}
  1485  	var l int
  1486  	_ = l
  1487  	if len(m.ResourceSpans) > 0 {
  1488  		for _, e := range m.ResourceSpans {
  1489  			l = e.Size()
  1490  			n += 1 + l + sovTrace(uint64(l))
  1491  		}
  1492  	}
  1493  	return n
  1494  }
  1495  
  1496  func (m *ResourceSpans) Size() (n int) {
  1497  	if m == nil {
  1498  		return 0
  1499  	}
  1500  	var l int
  1501  	_ = l
  1502  	if m.Resource != nil {
  1503  		l = m.Resource.Size()
  1504  		n += 1 + l + sovTrace(uint64(l))
  1505  	}
  1506  	if len(m.ScopeSpans) > 0 {
  1507  		for _, e := range m.ScopeSpans {
  1508  			l = e.Size()
  1509  			n += 1 + l + sovTrace(uint64(l))
  1510  		}
  1511  	}
  1512  	l = len(m.SchemaUrl)
  1513  	if l > 0 {
  1514  		n += 1 + l + sovTrace(uint64(l))
  1515  	}
  1516  	if len(m.InstrumentationLibrarySpans) > 0 {
  1517  		for _, e := range m.InstrumentationLibrarySpans {
  1518  			l = e.Size()
  1519  			n += 2 + l + sovTrace(uint64(l))
  1520  		}
  1521  	}
  1522  	return n
  1523  }
  1524  
  1525  func (m *ScopeSpans) Size() (n int) {
  1526  	if m == nil {
  1527  		return 0
  1528  	}
  1529  	var l int
  1530  	_ = l
  1531  	if m.Scope != nil {
  1532  		l = m.Scope.Size()
  1533  		n += 1 + l + sovTrace(uint64(l))
  1534  	}
  1535  	if len(m.Spans) > 0 {
  1536  		for _, e := range m.Spans {
  1537  			l = e.Size()
  1538  			n += 1 + l + sovTrace(uint64(l))
  1539  		}
  1540  	}
  1541  	l = len(m.SchemaUrl)
  1542  	if l > 0 {
  1543  		n += 1 + l + sovTrace(uint64(l))
  1544  	}
  1545  	return n
  1546  }
  1547  
  1548  func (m *InstrumentationLibrarySpans) Size() (n int) {
  1549  	if m == nil {
  1550  		return 0
  1551  	}
  1552  	var l int
  1553  	_ = l
  1554  	if m.InstrumentationLibrary != nil {
  1555  		l = m.InstrumentationLibrary.Size()
  1556  		n += 1 + l + sovTrace(uint64(l))
  1557  	}
  1558  	if len(m.Spans) > 0 {
  1559  		for _, e := range m.Spans {
  1560  			l = e.Size()
  1561  			n += 1 + l + sovTrace(uint64(l))
  1562  		}
  1563  	}
  1564  	l = len(m.SchemaUrl)
  1565  	if l > 0 {
  1566  		n += 1 + l + sovTrace(uint64(l))
  1567  	}
  1568  	return n
  1569  }
  1570  
  1571  func (m *Span) Size() (n int) {
  1572  	if m == nil {
  1573  		return 0
  1574  	}
  1575  	var l int
  1576  	_ = l
  1577  	l = len(m.TraceId)
  1578  	if l > 0 {
  1579  		n += 1 + l + sovTrace(uint64(l))
  1580  	}
  1581  	l = len(m.SpanId)
  1582  	if l > 0 {
  1583  		n += 1 + l + sovTrace(uint64(l))
  1584  	}
  1585  	l = len(m.TraceState)
  1586  	if l > 0 {
  1587  		n += 1 + l + sovTrace(uint64(l))
  1588  	}
  1589  	l = len(m.ParentSpanId)
  1590  	if l > 0 {
  1591  		n += 1 + l + sovTrace(uint64(l))
  1592  	}
  1593  	l = len(m.Name)
  1594  	if l > 0 {
  1595  		n += 1 + l + sovTrace(uint64(l))
  1596  	}
  1597  	if m.Kind != 0 {
  1598  		n += 1 + sovTrace(uint64(m.Kind))
  1599  	}
  1600  	if m.StartTimeUnixNano != 0 {
  1601  		n += 9
  1602  	}
  1603  	if m.EndTimeUnixNano != 0 {
  1604  		n += 9
  1605  	}
  1606  	if len(m.Attributes) > 0 {
  1607  		for _, e := range m.Attributes {
  1608  			l = e.Size()
  1609  			n += 1 + l + sovTrace(uint64(l))
  1610  		}
  1611  	}
  1612  	if m.DroppedAttributesCount != 0 {
  1613  		n += 1 + sovTrace(uint64(m.DroppedAttributesCount))
  1614  	}
  1615  	if len(m.Events) > 0 {
  1616  		for _, e := range m.Events {
  1617  			l = e.Size()
  1618  			n += 1 + l + sovTrace(uint64(l))
  1619  		}
  1620  	}
  1621  	if m.DroppedEventsCount != 0 {
  1622  		n += 1 + sovTrace(uint64(m.DroppedEventsCount))
  1623  	}
  1624  	if len(m.Links) > 0 {
  1625  		for _, e := range m.Links {
  1626  			l = e.Size()
  1627  			n += 1 + l + sovTrace(uint64(l))
  1628  		}
  1629  	}
  1630  	if m.DroppedLinksCount != 0 {
  1631  		n += 1 + sovTrace(uint64(m.DroppedLinksCount))
  1632  	}
  1633  	if m.Status != nil {
  1634  		l = m.Status.Size()
  1635  		n += 1 + l + sovTrace(uint64(l))
  1636  	}
  1637  	return n
  1638  }
  1639  
  1640  func (m *Span_Event) Size() (n int) {
  1641  	if m == nil {
  1642  		return 0
  1643  	}
  1644  	var l int
  1645  	_ = l
  1646  	if m.TimeUnixNano != 0 {
  1647  		n += 9
  1648  	}
  1649  	l = len(m.Name)
  1650  	if l > 0 {
  1651  		n += 1 + l + sovTrace(uint64(l))
  1652  	}
  1653  	if len(m.Attributes) > 0 {
  1654  		for _, e := range m.Attributes {
  1655  			l = e.Size()
  1656  			n += 1 + l + sovTrace(uint64(l))
  1657  		}
  1658  	}
  1659  	if m.DroppedAttributesCount != 0 {
  1660  		n += 1 + sovTrace(uint64(m.DroppedAttributesCount))
  1661  	}
  1662  	return n
  1663  }
  1664  
  1665  func (m *Span_Link) Size() (n int) {
  1666  	if m == nil {
  1667  		return 0
  1668  	}
  1669  	var l int
  1670  	_ = l
  1671  	l = len(m.TraceId)
  1672  	if l > 0 {
  1673  		n += 1 + l + sovTrace(uint64(l))
  1674  	}
  1675  	l = len(m.SpanId)
  1676  	if l > 0 {
  1677  		n += 1 + l + sovTrace(uint64(l))
  1678  	}
  1679  	l = len(m.TraceState)
  1680  	if l > 0 {
  1681  		n += 1 + l + sovTrace(uint64(l))
  1682  	}
  1683  	if len(m.Attributes) > 0 {
  1684  		for _, e := range m.Attributes {
  1685  			l = e.Size()
  1686  			n += 1 + l + sovTrace(uint64(l))
  1687  		}
  1688  	}
  1689  	if m.DroppedAttributesCount != 0 {
  1690  		n += 1 + sovTrace(uint64(m.DroppedAttributesCount))
  1691  	}
  1692  	return n
  1693  }
  1694  
  1695  func (m *Status) Size() (n int) {
  1696  	if m == nil {
  1697  		return 0
  1698  	}
  1699  	var l int
  1700  	_ = l
  1701  	l = len(m.Message)
  1702  	if l > 0 {
  1703  		n += 1 + l + sovTrace(uint64(l))
  1704  	}
  1705  	if m.Code != 0 {
  1706  		n += 1 + sovTrace(uint64(m.Code))
  1707  	}
  1708  	return n
  1709  }
  1710  
  1711  func sovTrace(x uint64) (n int) {
  1712  	return (math_bits.Len64(x|1) + 6) / 7
  1713  }
  1714  func sozTrace(x uint64) (n int) {
  1715  	return sovTrace(uint64((x << 1) ^ uint64((int64(x) >> 63))))
  1716  }
  1717  func (m *TracesData) Unmarshal(dAtA []byte) error {
  1718  	l := len(dAtA)
  1719  	iNdEx := 0
  1720  	for iNdEx < l {
  1721  		preIndex := iNdEx
  1722  		var wire uint64
  1723  		for shift := uint(0); ; shift += 7 {
  1724  			if shift >= 64 {
  1725  				return ErrIntOverflowTrace
  1726  			}
  1727  			if iNdEx >= l {
  1728  				return io.ErrUnexpectedEOF
  1729  			}
  1730  			b := dAtA[iNdEx]
  1731  			iNdEx++
  1732  			wire |= uint64(b&0x7F) << shift
  1733  			if b < 0x80 {
  1734  				break
  1735  			}
  1736  		}
  1737  		fieldNum := int32(wire >> 3)
  1738  		wireType := int(wire & 0x7)
  1739  		if wireType == 4 {
  1740  			return fmt.Errorf("proto: TracesData: wiretype end group for non-group")
  1741  		}
  1742  		if fieldNum <= 0 {
  1743  			return fmt.Errorf("proto: TracesData: illegal tag %d (wire type %d)", fieldNum, wire)
  1744  		}
  1745  		switch fieldNum {
  1746  		case 1:
  1747  			if wireType != 2 {
  1748  				return fmt.Errorf("proto: wrong wireType = %d for field ResourceSpans", wireType)
  1749  			}
  1750  			var msglen int
  1751  			for shift := uint(0); ; shift += 7 {
  1752  				if shift >= 64 {
  1753  					return ErrIntOverflowTrace
  1754  				}
  1755  				if iNdEx >= l {
  1756  					return io.ErrUnexpectedEOF
  1757  				}
  1758  				b := dAtA[iNdEx]
  1759  				iNdEx++
  1760  				msglen |= int(b&0x7F) << shift
  1761  				if b < 0x80 {
  1762  					break
  1763  				}
  1764  			}
  1765  			if msglen < 0 {
  1766  				return ErrInvalidLengthTrace
  1767  			}
  1768  			postIndex := iNdEx + msglen
  1769  			if postIndex < 0 {
  1770  				return ErrInvalidLengthTrace
  1771  			}
  1772  			if postIndex > l {
  1773  				return io.ErrUnexpectedEOF
  1774  			}
  1775  			m.ResourceSpans = append(m.ResourceSpans, &ResourceSpans{})
  1776  			if err := m.ResourceSpans[len(m.ResourceSpans)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1777  				return err
  1778  			}
  1779  			iNdEx = postIndex
  1780  		default:
  1781  			iNdEx = preIndex
  1782  			skippy, err := skipTrace(dAtA[iNdEx:])
  1783  			if err != nil {
  1784  				return err
  1785  			}
  1786  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1787  				return ErrInvalidLengthTrace
  1788  			}
  1789  			if (iNdEx + skippy) > l {
  1790  				return io.ErrUnexpectedEOF
  1791  			}
  1792  			iNdEx += skippy
  1793  		}
  1794  	}
  1795  
  1796  	if iNdEx > l {
  1797  		return io.ErrUnexpectedEOF
  1798  	}
  1799  	return nil
  1800  }
  1801  func (m *ResourceSpans) Unmarshal(dAtA []byte) error {
  1802  	l := len(dAtA)
  1803  	iNdEx := 0
  1804  	for iNdEx < l {
  1805  		preIndex := iNdEx
  1806  		var wire uint64
  1807  		for shift := uint(0); ; shift += 7 {
  1808  			if shift >= 64 {
  1809  				return ErrIntOverflowTrace
  1810  			}
  1811  			if iNdEx >= l {
  1812  				return io.ErrUnexpectedEOF
  1813  			}
  1814  			b := dAtA[iNdEx]
  1815  			iNdEx++
  1816  			wire |= uint64(b&0x7F) << shift
  1817  			if b < 0x80 {
  1818  				break
  1819  			}
  1820  		}
  1821  		fieldNum := int32(wire >> 3)
  1822  		wireType := int(wire & 0x7)
  1823  		if wireType == 4 {
  1824  			return fmt.Errorf("proto: ResourceSpans: wiretype end group for non-group")
  1825  		}
  1826  		if fieldNum <= 0 {
  1827  			return fmt.Errorf("proto: ResourceSpans: illegal tag %d (wire type %d)", fieldNum, wire)
  1828  		}
  1829  		switch fieldNum {
  1830  		case 1:
  1831  			if wireType != 2 {
  1832  				return fmt.Errorf("proto: wrong wireType = %d for field Resource", wireType)
  1833  			}
  1834  			var msglen int
  1835  			for shift := uint(0); ; shift += 7 {
  1836  				if shift >= 64 {
  1837  					return ErrIntOverflowTrace
  1838  				}
  1839  				if iNdEx >= l {
  1840  					return io.ErrUnexpectedEOF
  1841  				}
  1842  				b := dAtA[iNdEx]
  1843  				iNdEx++
  1844  				msglen |= int(b&0x7F) << shift
  1845  				if b < 0x80 {
  1846  					break
  1847  				}
  1848  			}
  1849  			if msglen < 0 {
  1850  				return ErrInvalidLengthTrace
  1851  			}
  1852  			postIndex := iNdEx + msglen
  1853  			if postIndex < 0 {
  1854  				return ErrInvalidLengthTrace
  1855  			}
  1856  			if postIndex > l {
  1857  				return io.ErrUnexpectedEOF
  1858  			}
  1859  			if m.Resource == nil {
  1860  				m.Resource = &v1.Resource{}
  1861  			}
  1862  			if err := m.Resource.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1863  				return err
  1864  			}
  1865  			iNdEx = postIndex
  1866  		case 2:
  1867  			if wireType != 2 {
  1868  				return fmt.Errorf("proto: wrong wireType = %d for field ScopeSpans", wireType)
  1869  			}
  1870  			var msglen int
  1871  			for shift := uint(0); ; shift += 7 {
  1872  				if shift >= 64 {
  1873  					return ErrIntOverflowTrace
  1874  				}
  1875  				if iNdEx >= l {
  1876  					return io.ErrUnexpectedEOF
  1877  				}
  1878  				b := dAtA[iNdEx]
  1879  				iNdEx++
  1880  				msglen |= int(b&0x7F) << shift
  1881  				if b < 0x80 {
  1882  					break
  1883  				}
  1884  			}
  1885  			if msglen < 0 {
  1886  				return ErrInvalidLengthTrace
  1887  			}
  1888  			postIndex := iNdEx + msglen
  1889  			if postIndex < 0 {
  1890  				return ErrInvalidLengthTrace
  1891  			}
  1892  			if postIndex > l {
  1893  				return io.ErrUnexpectedEOF
  1894  			}
  1895  			m.ScopeSpans = append(m.ScopeSpans, &ScopeSpans{})
  1896  			if err := m.ScopeSpans[len(m.ScopeSpans)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1897  				return err
  1898  			}
  1899  			iNdEx = postIndex
  1900  		case 3:
  1901  			if wireType != 2 {
  1902  				return fmt.Errorf("proto: wrong wireType = %d for field SchemaUrl", wireType)
  1903  			}
  1904  			var stringLen uint64
  1905  			for shift := uint(0); ; shift += 7 {
  1906  				if shift >= 64 {
  1907  					return ErrIntOverflowTrace
  1908  				}
  1909  				if iNdEx >= l {
  1910  					return io.ErrUnexpectedEOF
  1911  				}
  1912  				b := dAtA[iNdEx]
  1913  				iNdEx++
  1914  				stringLen |= uint64(b&0x7F) << shift
  1915  				if b < 0x80 {
  1916  					break
  1917  				}
  1918  			}
  1919  			intStringLen := int(stringLen)
  1920  			if intStringLen < 0 {
  1921  				return ErrInvalidLengthTrace
  1922  			}
  1923  			postIndex := iNdEx + intStringLen
  1924  			if postIndex < 0 {
  1925  				return ErrInvalidLengthTrace
  1926  			}
  1927  			if postIndex > l {
  1928  				return io.ErrUnexpectedEOF
  1929  			}
  1930  			m.SchemaUrl = string(dAtA[iNdEx:postIndex])
  1931  			iNdEx = postIndex
  1932  		case 1000:
  1933  			if wireType != 2 {
  1934  				return fmt.Errorf("proto: wrong wireType = %d for field InstrumentationLibrarySpans", wireType)
  1935  			}
  1936  			var msglen int
  1937  			for shift := uint(0); ; shift += 7 {
  1938  				if shift >= 64 {
  1939  					return ErrIntOverflowTrace
  1940  				}
  1941  				if iNdEx >= l {
  1942  					return io.ErrUnexpectedEOF
  1943  				}
  1944  				b := dAtA[iNdEx]
  1945  				iNdEx++
  1946  				msglen |= int(b&0x7F) << shift
  1947  				if b < 0x80 {
  1948  					break
  1949  				}
  1950  			}
  1951  			if msglen < 0 {
  1952  				return ErrInvalidLengthTrace
  1953  			}
  1954  			postIndex := iNdEx + msglen
  1955  			if postIndex < 0 {
  1956  				return ErrInvalidLengthTrace
  1957  			}
  1958  			if postIndex > l {
  1959  				return io.ErrUnexpectedEOF
  1960  			}
  1961  			m.InstrumentationLibrarySpans = append(m.InstrumentationLibrarySpans, &InstrumentationLibrarySpans{})
  1962  			if err := m.InstrumentationLibrarySpans[len(m.InstrumentationLibrarySpans)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  1963  				return err
  1964  			}
  1965  			iNdEx = postIndex
  1966  		default:
  1967  			iNdEx = preIndex
  1968  			skippy, err := skipTrace(dAtA[iNdEx:])
  1969  			if err != nil {
  1970  				return err
  1971  			}
  1972  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  1973  				return ErrInvalidLengthTrace
  1974  			}
  1975  			if (iNdEx + skippy) > l {
  1976  				return io.ErrUnexpectedEOF
  1977  			}
  1978  			iNdEx += skippy
  1979  		}
  1980  	}
  1981  
  1982  	if iNdEx > l {
  1983  		return io.ErrUnexpectedEOF
  1984  	}
  1985  	return nil
  1986  }
  1987  func (m *ScopeSpans) Unmarshal(dAtA []byte) error {
  1988  	l := len(dAtA)
  1989  	iNdEx := 0
  1990  	for iNdEx < l {
  1991  		preIndex := iNdEx
  1992  		var wire uint64
  1993  		for shift := uint(0); ; shift += 7 {
  1994  			if shift >= 64 {
  1995  				return ErrIntOverflowTrace
  1996  			}
  1997  			if iNdEx >= l {
  1998  				return io.ErrUnexpectedEOF
  1999  			}
  2000  			b := dAtA[iNdEx]
  2001  			iNdEx++
  2002  			wire |= uint64(b&0x7F) << shift
  2003  			if b < 0x80 {
  2004  				break
  2005  			}
  2006  		}
  2007  		fieldNum := int32(wire >> 3)
  2008  		wireType := int(wire & 0x7)
  2009  		if wireType == 4 {
  2010  			return fmt.Errorf("proto: ScopeSpans: wiretype end group for non-group")
  2011  		}
  2012  		if fieldNum <= 0 {
  2013  			return fmt.Errorf("proto: ScopeSpans: illegal tag %d (wire type %d)", fieldNum, wire)
  2014  		}
  2015  		switch fieldNum {
  2016  		case 1:
  2017  			if wireType != 2 {
  2018  				return fmt.Errorf("proto: wrong wireType = %d for field Scope", wireType)
  2019  			}
  2020  			var msglen int
  2021  			for shift := uint(0); ; shift += 7 {
  2022  				if shift >= 64 {
  2023  					return ErrIntOverflowTrace
  2024  				}
  2025  				if iNdEx >= l {
  2026  					return io.ErrUnexpectedEOF
  2027  				}
  2028  				b := dAtA[iNdEx]
  2029  				iNdEx++
  2030  				msglen |= int(b&0x7F) << shift
  2031  				if b < 0x80 {
  2032  					break
  2033  				}
  2034  			}
  2035  			if msglen < 0 {
  2036  				return ErrInvalidLengthTrace
  2037  			}
  2038  			postIndex := iNdEx + msglen
  2039  			if postIndex < 0 {
  2040  				return ErrInvalidLengthTrace
  2041  			}
  2042  			if postIndex > l {
  2043  				return io.ErrUnexpectedEOF
  2044  			}
  2045  			if m.Scope == nil {
  2046  				m.Scope = &v11.InstrumentationScope{}
  2047  			}
  2048  			if err := m.Scope.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2049  				return err
  2050  			}
  2051  			iNdEx = postIndex
  2052  		case 2:
  2053  			if wireType != 2 {
  2054  				return fmt.Errorf("proto: wrong wireType = %d for field Spans", wireType)
  2055  			}
  2056  			var msglen int
  2057  			for shift := uint(0); ; shift += 7 {
  2058  				if shift >= 64 {
  2059  					return ErrIntOverflowTrace
  2060  				}
  2061  				if iNdEx >= l {
  2062  					return io.ErrUnexpectedEOF
  2063  				}
  2064  				b := dAtA[iNdEx]
  2065  				iNdEx++
  2066  				msglen |= int(b&0x7F) << shift
  2067  				if b < 0x80 {
  2068  					break
  2069  				}
  2070  			}
  2071  			if msglen < 0 {
  2072  				return ErrInvalidLengthTrace
  2073  			}
  2074  			postIndex := iNdEx + msglen
  2075  			if postIndex < 0 {
  2076  				return ErrInvalidLengthTrace
  2077  			}
  2078  			if postIndex > l {
  2079  				return io.ErrUnexpectedEOF
  2080  			}
  2081  			m.Spans = append(m.Spans, &Span{})
  2082  			if err := m.Spans[len(m.Spans)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2083  				return err
  2084  			}
  2085  			iNdEx = postIndex
  2086  		case 3:
  2087  			if wireType != 2 {
  2088  				return fmt.Errorf("proto: wrong wireType = %d for field SchemaUrl", wireType)
  2089  			}
  2090  			var stringLen uint64
  2091  			for shift := uint(0); ; shift += 7 {
  2092  				if shift >= 64 {
  2093  					return ErrIntOverflowTrace
  2094  				}
  2095  				if iNdEx >= l {
  2096  					return io.ErrUnexpectedEOF
  2097  				}
  2098  				b := dAtA[iNdEx]
  2099  				iNdEx++
  2100  				stringLen |= uint64(b&0x7F) << shift
  2101  				if b < 0x80 {
  2102  					break
  2103  				}
  2104  			}
  2105  			intStringLen := int(stringLen)
  2106  			if intStringLen < 0 {
  2107  				return ErrInvalidLengthTrace
  2108  			}
  2109  			postIndex := iNdEx + intStringLen
  2110  			if postIndex < 0 {
  2111  				return ErrInvalidLengthTrace
  2112  			}
  2113  			if postIndex > l {
  2114  				return io.ErrUnexpectedEOF
  2115  			}
  2116  			m.SchemaUrl = string(dAtA[iNdEx:postIndex])
  2117  			iNdEx = postIndex
  2118  		default:
  2119  			iNdEx = preIndex
  2120  			skippy, err := skipTrace(dAtA[iNdEx:])
  2121  			if err != nil {
  2122  				return err
  2123  			}
  2124  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2125  				return ErrInvalidLengthTrace
  2126  			}
  2127  			if (iNdEx + skippy) > l {
  2128  				return io.ErrUnexpectedEOF
  2129  			}
  2130  			iNdEx += skippy
  2131  		}
  2132  	}
  2133  
  2134  	if iNdEx > l {
  2135  		return io.ErrUnexpectedEOF
  2136  	}
  2137  	return nil
  2138  }
  2139  func (m *InstrumentationLibrarySpans) Unmarshal(dAtA []byte) error {
  2140  	l := len(dAtA)
  2141  	iNdEx := 0
  2142  	for iNdEx < l {
  2143  		preIndex := iNdEx
  2144  		var wire uint64
  2145  		for shift := uint(0); ; shift += 7 {
  2146  			if shift >= 64 {
  2147  				return ErrIntOverflowTrace
  2148  			}
  2149  			if iNdEx >= l {
  2150  				return io.ErrUnexpectedEOF
  2151  			}
  2152  			b := dAtA[iNdEx]
  2153  			iNdEx++
  2154  			wire |= uint64(b&0x7F) << shift
  2155  			if b < 0x80 {
  2156  				break
  2157  			}
  2158  		}
  2159  		fieldNum := int32(wire >> 3)
  2160  		wireType := int(wire & 0x7)
  2161  		if wireType == 4 {
  2162  			return fmt.Errorf("proto: InstrumentationLibrarySpans: wiretype end group for non-group")
  2163  		}
  2164  		if fieldNum <= 0 {
  2165  			return fmt.Errorf("proto: InstrumentationLibrarySpans: illegal tag %d (wire type %d)", fieldNum, wire)
  2166  		}
  2167  		switch fieldNum {
  2168  		case 1:
  2169  			if wireType != 2 {
  2170  				return fmt.Errorf("proto: wrong wireType = %d for field InstrumentationLibrary", wireType)
  2171  			}
  2172  			var msglen int
  2173  			for shift := uint(0); ; shift += 7 {
  2174  				if shift >= 64 {
  2175  					return ErrIntOverflowTrace
  2176  				}
  2177  				if iNdEx >= l {
  2178  					return io.ErrUnexpectedEOF
  2179  				}
  2180  				b := dAtA[iNdEx]
  2181  				iNdEx++
  2182  				msglen |= int(b&0x7F) << shift
  2183  				if b < 0x80 {
  2184  					break
  2185  				}
  2186  			}
  2187  			if msglen < 0 {
  2188  				return ErrInvalidLengthTrace
  2189  			}
  2190  			postIndex := iNdEx + msglen
  2191  			if postIndex < 0 {
  2192  				return ErrInvalidLengthTrace
  2193  			}
  2194  			if postIndex > l {
  2195  				return io.ErrUnexpectedEOF
  2196  			}
  2197  			if m.InstrumentationLibrary == nil {
  2198  				m.InstrumentationLibrary = &v11.InstrumentationLibrary{}
  2199  			}
  2200  			if err := m.InstrumentationLibrary.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2201  				return err
  2202  			}
  2203  			iNdEx = postIndex
  2204  		case 2:
  2205  			if wireType != 2 {
  2206  				return fmt.Errorf("proto: wrong wireType = %d for field Spans", wireType)
  2207  			}
  2208  			var msglen int
  2209  			for shift := uint(0); ; shift += 7 {
  2210  				if shift >= 64 {
  2211  					return ErrIntOverflowTrace
  2212  				}
  2213  				if iNdEx >= l {
  2214  					return io.ErrUnexpectedEOF
  2215  				}
  2216  				b := dAtA[iNdEx]
  2217  				iNdEx++
  2218  				msglen |= int(b&0x7F) << shift
  2219  				if b < 0x80 {
  2220  					break
  2221  				}
  2222  			}
  2223  			if msglen < 0 {
  2224  				return ErrInvalidLengthTrace
  2225  			}
  2226  			postIndex := iNdEx + msglen
  2227  			if postIndex < 0 {
  2228  				return ErrInvalidLengthTrace
  2229  			}
  2230  			if postIndex > l {
  2231  				return io.ErrUnexpectedEOF
  2232  			}
  2233  			m.Spans = append(m.Spans, &Span{})
  2234  			if err := m.Spans[len(m.Spans)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2235  				return err
  2236  			}
  2237  			iNdEx = postIndex
  2238  		case 3:
  2239  			if wireType != 2 {
  2240  				return fmt.Errorf("proto: wrong wireType = %d for field SchemaUrl", wireType)
  2241  			}
  2242  			var stringLen uint64
  2243  			for shift := uint(0); ; shift += 7 {
  2244  				if shift >= 64 {
  2245  					return ErrIntOverflowTrace
  2246  				}
  2247  				if iNdEx >= l {
  2248  					return io.ErrUnexpectedEOF
  2249  				}
  2250  				b := dAtA[iNdEx]
  2251  				iNdEx++
  2252  				stringLen |= uint64(b&0x7F) << shift
  2253  				if b < 0x80 {
  2254  					break
  2255  				}
  2256  			}
  2257  			intStringLen := int(stringLen)
  2258  			if intStringLen < 0 {
  2259  				return ErrInvalidLengthTrace
  2260  			}
  2261  			postIndex := iNdEx + intStringLen
  2262  			if postIndex < 0 {
  2263  				return ErrInvalidLengthTrace
  2264  			}
  2265  			if postIndex > l {
  2266  				return io.ErrUnexpectedEOF
  2267  			}
  2268  			m.SchemaUrl = string(dAtA[iNdEx:postIndex])
  2269  			iNdEx = postIndex
  2270  		default:
  2271  			iNdEx = preIndex
  2272  			skippy, err := skipTrace(dAtA[iNdEx:])
  2273  			if err != nil {
  2274  				return err
  2275  			}
  2276  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2277  				return ErrInvalidLengthTrace
  2278  			}
  2279  			if (iNdEx + skippy) > l {
  2280  				return io.ErrUnexpectedEOF
  2281  			}
  2282  			iNdEx += skippy
  2283  		}
  2284  	}
  2285  
  2286  	if iNdEx > l {
  2287  		return io.ErrUnexpectedEOF
  2288  	}
  2289  	return nil
  2290  }
  2291  func (m *Span) Unmarshal(dAtA []byte) error {
  2292  	l := len(dAtA)
  2293  	iNdEx := 0
  2294  	for iNdEx < l {
  2295  		preIndex := iNdEx
  2296  		var wire uint64
  2297  		for shift := uint(0); ; shift += 7 {
  2298  			if shift >= 64 {
  2299  				return ErrIntOverflowTrace
  2300  			}
  2301  			if iNdEx >= l {
  2302  				return io.ErrUnexpectedEOF
  2303  			}
  2304  			b := dAtA[iNdEx]
  2305  			iNdEx++
  2306  			wire |= uint64(b&0x7F) << shift
  2307  			if b < 0x80 {
  2308  				break
  2309  			}
  2310  		}
  2311  		fieldNum := int32(wire >> 3)
  2312  		wireType := int(wire & 0x7)
  2313  		if wireType == 4 {
  2314  			return fmt.Errorf("proto: Span: wiretype end group for non-group")
  2315  		}
  2316  		if fieldNum <= 0 {
  2317  			return fmt.Errorf("proto: Span: illegal tag %d (wire type %d)", fieldNum, wire)
  2318  		}
  2319  		switch fieldNum {
  2320  		case 1:
  2321  			if wireType != 2 {
  2322  				return fmt.Errorf("proto: wrong wireType = %d for field TraceId", wireType)
  2323  			}
  2324  			var byteLen int
  2325  			for shift := uint(0); ; shift += 7 {
  2326  				if shift >= 64 {
  2327  					return ErrIntOverflowTrace
  2328  				}
  2329  				if iNdEx >= l {
  2330  					return io.ErrUnexpectedEOF
  2331  				}
  2332  				b := dAtA[iNdEx]
  2333  				iNdEx++
  2334  				byteLen |= int(b&0x7F) << shift
  2335  				if b < 0x80 {
  2336  					break
  2337  				}
  2338  			}
  2339  			if byteLen < 0 {
  2340  				return ErrInvalidLengthTrace
  2341  			}
  2342  			postIndex := iNdEx + byteLen
  2343  			if postIndex < 0 {
  2344  				return ErrInvalidLengthTrace
  2345  			}
  2346  			if postIndex > l {
  2347  				return io.ErrUnexpectedEOF
  2348  			}
  2349  			m.TraceId = append(m.TraceId[:0], dAtA[iNdEx:postIndex]...)
  2350  			if m.TraceId == nil {
  2351  				m.TraceId = []byte{}
  2352  			}
  2353  			iNdEx = postIndex
  2354  		case 2:
  2355  			if wireType != 2 {
  2356  				return fmt.Errorf("proto: wrong wireType = %d for field SpanId", wireType)
  2357  			}
  2358  			var byteLen int
  2359  			for shift := uint(0); ; shift += 7 {
  2360  				if shift >= 64 {
  2361  					return ErrIntOverflowTrace
  2362  				}
  2363  				if iNdEx >= l {
  2364  					return io.ErrUnexpectedEOF
  2365  				}
  2366  				b := dAtA[iNdEx]
  2367  				iNdEx++
  2368  				byteLen |= int(b&0x7F) << shift
  2369  				if b < 0x80 {
  2370  					break
  2371  				}
  2372  			}
  2373  			if byteLen < 0 {
  2374  				return ErrInvalidLengthTrace
  2375  			}
  2376  			postIndex := iNdEx + byteLen
  2377  			if postIndex < 0 {
  2378  				return ErrInvalidLengthTrace
  2379  			}
  2380  			if postIndex > l {
  2381  				return io.ErrUnexpectedEOF
  2382  			}
  2383  			m.SpanId = append(m.SpanId[:0], dAtA[iNdEx:postIndex]...)
  2384  			if m.SpanId == nil {
  2385  				m.SpanId = []byte{}
  2386  			}
  2387  			iNdEx = postIndex
  2388  		case 3:
  2389  			if wireType != 2 {
  2390  				return fmt.Errorf("proto: wrong wireType = %d for field TraceState", wireType)
  2391  			}
  2392  			var stringLen uint64
  2393  			for shift := uint(0); ; shift += 7 {
  2394  				if shift >= 64 {
  2395  					return ErrIntOverflowTrace
  2396  				}
  2397  				if iNdEx >= l {
  2398  					return io.ErrUnexpectedEOF
  2399  				}
  2400  				b := dAtA[iNdEx]
  2401  				iNdEx++
  2402  				stringLen |= uint64(b&0x7F) << shift
  2403  				if b < 0x80 {
  2404  					break
  2405  				}
  2406  			}
  2407  			intStringLen := int(stringLen)
  2408  			if intStringLen < 0 {
  2409  				return ErrInvalidLengthTrace
  2410  			}
  2411  			postIndex := iNdEx + intStringLen
  2412  			if postIndex < 0 {
  2413  				return ErrInvalidLengthTrace
  2414  			}
  2415  			if postIndex > l {
  2416  				return io.ErrUnexpectedEOF
  2417  			}
  2418  			m.TraceState = string(dAtA[iNdEx:postIndex])
  2419  			iNdEx = postIndex
  2420  		case 4:
  2421  			if wireType != 2 {
  2422  				return fmt.Errorf("proto: wrong wireType = %d for field ParentSpanId", wireType)
  2423  			}
  2424  			var byteLen int
  2425  			for shift := uint(0); ; shift += 7 {
  2426  				if shift >= 64 {
  2427  					return ErrIntOverflowTrace
  2428  				}
  2429  				if iNdEx >= l {
  2430  					return io.ErrUnexpectedEOF
  2431  				}
  2432  				b := dAtA[iNdEx]
  2433  				iNdEx++
  2434  				byteLen |= int(b&0x7F) << shift
  2435  				if b < 0x80 {
  2436  					break
  2437  				}
  2438  			}
  2439  			if byteLen < 0 {
  2440  				return ErrInvalidLengthTrace
  2441  			}
  2442  			postIndex := iNdEx + byteLen
  2443  			if postIndex < 0 {
  2444  				return ErrInvalidLengthTrace
  2445  			}
  2446  			if postIndex > l {
  2447  				return io.ErrUnexpectedEOF
  2448  			}
  2449  			m.ParentSpanId = append(m.ParentSpanId[:0], dAtA[iNdEx:postIndex]...)
  2450  			if m.ParentSpanId == nil {
  2451  				m.ParentSpanId = []byte{}
  2452  			}
  2453  			iNdEx = postIndex
  2454  		case 5:
  2455  			if wireType != 2 {
  2456  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  2457  			}
  2458  			var stringLen uint64
  2459  			for shift := uint(0); ; shift += 7 {
  2460  				if shift >= 64 {
  2461  					return ErrIntOverflowTrace
  2462  				}
  2463  				if iNdEx >= l {
  2464  					return io.ErrUnexpectedEOF
  2465  				}
  2466  				b := dAtA[iNdEx]
  2467  				iNdEx++
  2468  				stringLen |= uint64(b&0x7F) << shift
  2469  				if b < 0x80 {
  2470  					break
  2471  				}
  2472  			}
  2473  			intStringLen := int(stringLen)
  2474  			if intStringLen < 0 {
  2475  				return ErrInvalidLengthTrace
  2476  			}
  2477  			postIndex := iNdEx + intStringLen
  2478  			if postIndex < 0 {
  2479  				return ErrInvalidLengthTrace
  2480  			}
  2481  			if postIndex > l {
  2482  				return io.ErrUnexpectedEOF
  2483  			}
  2484  			m.Name = string(dAtA[iNdEx:postIndex])
  2485  			iNdEx = postIndex
  2486  		case 6:
  2487  			if wireType != 0 {
  2488  				return fmt.Errorf("proto: wrong wireType = %d for field Kind", wireType)
  2489  			}
  2490  			m.Kind = 0
  2491  			for shift := uint(0); ; shift += 7 {
  2492  				if shift >= 64 {
  2493  					return ErrIntOverflowTrace
  2494  				}
  2495  				if iNdEx >= l {
  2496  					return io.ErrUnexpectedEOF
  2497  				}
  2498  				b := dAtA[iNdEx]
  2499  				iNdEx++
  2500  				m.Kind |= Span_SpanKind(b&0x7F) << shift
  2501  				if b < 0x80 {
  2502  					break
  2503  				}
  2504  			}
  2505  		case 7:
  2506  			if wireType != 1 {
  2507  				return fmt.Errorf("proto: wrong wireType = %d for field StartTimeUnixNano", wireType)
  2508  			}
  2509  			m.StartTimeUnixNano = 0
  2510  			if (iNdEx + 8) > l {
  2511  				return io.ErrUnexpectedEOF
  2512  			}
  2513  			m.StartTimeUnixNano = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2514  			iNdEx += 8
  2515  		case 8:
  2516  			if wireType != 1 {
  2517  				return fmt.Errorf("proto: wrong wireType = %d for field EndTimeUnixNano", wireType)
  2518  			}
  2519  			m.EndTimeUnixNano = 0
  2520  			if (iNdEx + 8) > l {
  2521  				return io.ErrUnexpectedEOF
  2522  			}
  2523  			m.EndTimeUnixNano = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2524  			iNdEx += 8
  2525  		case 9:
  2526  			if wireType != 2 {
  2527  				return fmt.Errorf("proto: wrong wireType = %d for field Attributes", wireType)
  2528  			}
  2529  			var msglen int
  2530  			for shift := uint(0); ; shift += 7 {
  2531  				if shift >= 64 {
  2532  					return ErrIntOverflowTrace
  2533  				}
  2534  				if iNdEx >= l {
  2535  					return io.ErrUnexpectedEOF
  2536  				}
  2537  				b := dAtA[iNdEx]
  2538  				iNdEx++
  2539  				msglen |= int(b&0x7F) << shift
  2540  				if b < 0x80 {
  2541  					break
  2542  				}
  2543  			}
  2544  			if msglen < 0 {
  2545  				return ErrInvalidLengthTrace
  2546  			}
  2547  			postIndex := iNdEx + msglen
  2548  			if postIndex < 0 {
  2549  				return ErrInvalidLengthTrace
  2550  			}
  2551  			if postIndex > l {
  2552  				return io.ErrUnexpectedEOF
  2553  			}
  2554  			m.Attributes = append(m.Attributes, &v11.KeyValue{})
  2555  			if err := m.Attributes[len(m.Attributes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2556  				return err
  2557  			}
  2558  			iNdEx = postIndex
  2559  		case 10:
  2560  			if wireType != 0 {
  2561  				return fmt.Errorf("proto: wrong wireType = %d for field DroppedAttributesCount", wireType)
  2562  			}
  2563  			m.DroppedAttributesCount = 0
  2564  			for shift := uint(0); ; shift += 7 {
  2565  				if shift >= 64 {
  2566  					return ErrIntOverflowTrace
  2567  				}
  2568  				if iNdEx >= l {
  2569  					return io.ErrUnexpectedEOF
  2570  				}
  2571  				b := dAtA[iNdEx]
  2572  				iNdEx++
  2573  				m.DroppedAttributesCount |= uint32(b&0x7F) << shift
  2574  				if b < 0x80 {
  2575  					break
  2576  				}
  2577  			}
  2578  		case 11:
  2579  			if wireType != 2 {
  2580  				return fmt.Errorf("proto: wrong wireType = %d for field Events", wireType)
  2581  			}
  2582  			var msglen int
  2583  			for shift := uint(0); ; shift += 7 {
  2584  				if shift >= 64 {
  2585  					return ErrIntOverflowTrace
  2586  				}
  2587  				if iNdEx >= l {
  2588  					return io.ErrUnexpectedEOF
  2589  				}
  2590  				b := dAtA[iNdEx]
  2591  				iNdEx++
  2592  				msglen |= int(b&0x7F) << shift
  2593  				if b < 0x80 {
  2594  					break
  2595  				}
  2596  			}
  2597  			if msglen < 0 {
  2598  				return ErrInvalidLengthTrace
  2599  			}
  2600  			postIndex := iNdEx + msglen
  2601  			if postIndex < 0 {
  2602  				return ErrInvalidLengthTrace
  2603  			}
  2604  			if postIndex > l {
  2605  				return io.ErrUnexpectedEOF
  2606  			}
  2607  			m.Events = append(m.Events, &Span_Event{})
  2608  			if err := m.Events[len(m.Events)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2609  				return err
  2610  			}
  2611  			iNdEx = postIndex
  2612  		case 12:
  2613  			if wireType != 0 {
  2614  				return fmt.Errorf("proto: wrong wireType = %d for field DroppedEventsCount", wireType)
  2615  			}
  2616  			m.DroppedEventsCount = 0
  2617  			for shift := uint(0); ; shift += 7 {
  2618  				if shift >= 64 {
  2619  					return ErrIntOverflowTrace
  2620  				}
  2621  				if iNdEx >= l {
  2622  					return io.ErrUnexpectedEOF
  2623  				}
  2624  				b := dAtA[iNdEx]
  2625  				iNdEx++
  2626  				m.DroppedEventsCount |= uint32(b&0x7F) << shift
  2627  				if b < 0x80 {
  2628  					break
  2629  				}
  2630  			}
  2631  		case 13:
  2632  			if wireType != 2 {
  2633  				return fmt.Errorf("proto: wrong wireType = %d for field Links", wireType)
  2634  			}
  2635  			var msglen int
  2636  			for shift := uint(0); ; shift += 7 {
  2637  				if shift >= 64 {
  2638  					return ErrIntOverflowTrace
  2639  				}
  2640  				if iNdEx >= l {
  2641  					return io.ErrUnexpectedEOF
  2642  				}
  2643  				b := dAtA[iNdEx]
  2644  				iNdEx++
  2645  				msglen |= int(b&0x7F) << shift
  2646  				if b < 0x80 {
  2647  					break
  2648  				}
  2649  			}
  2650  			if msglen < 0 {
  2651  				return ErrInvalidLengthTrace
  2652  			}
  2653  			postIndex := iNdEx + msglen
  2654  			if postIndex < 0 {
  2655  				return ErrInvalidLengthTrace
  2656  			}
  2657  			if postIndex > l {
  2658  				return io.ErrUnexpectedEOF
  2659  			}
  2660  			m.Links = append(m.Links, &Span_Link{})
  2661  			if err := m.Links[len(m.Links)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2662  				return err
  2663  			}
  2664  			iNdEx = postIndex
  2665  		case 14:
  2666  			if wireType != 0 {
  2667  				return fmt.Errorf("proto: wrong wireType = %d for field DroppedLinksCount", wireType)
  2668  			}
  2669  			m.DroppedLinksCount = 0
  2670  			for shift := uint(0); ; shift += 7 {
  2671  				if shift >= 64 {
  2672  					return ErrIntOverflowTrace
  2673  				}
  2674  				if iNdEx >= l {
  2675  					return io.ErrUnexpectedEOF
  2676  				}
  2677  				b := dAtA[iNdEx]
  2678  				iNdEx++
  2679  				m.DroppedLinksCount |= uint32(b&0x7F) << shift
  2680  				if b < 0x80 {
  2681  					break
  2682  				}
  2683  			}
  2684  		case 15:
  2685  			if wireType != 2 {
  2686  				return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType)
  2687  			}
  2688  			var msglen int
  2689  			for shift := uint(0); ; shift += 7 {
  2690  				if shift >= 64 {
  2691  					return ErrIntOverflowTrace
  2692  				}
  2693  				if iNdEx >= l {
  2694  					return io.ErrUnexpectedEOF
  2695  				}
  2696  				b := dAtA[iNdEx]
  2697  				iNdEx++
  2698  				msglen |= int(b&0x7F) << shift
  2699  				if b < 0x80 {
  2700  					break
  2701  				}
  2702  			}
  2703  			if msglen < 0 {
  2704  				return ErrInvalidLengthTrace
  2705  			}
  2706  			postIndex := iNdEx + msglen
  2707  			if postIndex < 0 {
  2708  				return ErrInvalidLengthTrace
  2709  			}
  2710  			if postIndex > l {
  2711  				return io.ErrUnexpectedEOF
  2712  			}
  2713  			if m.Status == nil {
  2714  				m.Status = &Status{}
  2715  			}
  2716  			if err := m.Status.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2717  				return err
  2718  			}
  2719  			iNdEx = postIndex
  2720  		default:
  2721  			iNdEx = preIndex
  2722  			skippy, err := skipTrace(dAtA[iNdEx:])
  2723  			if err != nil {
  2724  				return err
  2725  			}
  2726  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2727  				return ErrInvalidLengthTrace
  2728  			}
  2729  			if (iNdEx + skippy) > l {
  2730  				return io.ErrUnexpectedEOF
  2731  			}
  2732  			iNdEx += skippy
  2733  		}
  2734  	}
  2735  
  2736  	if iNdEx > l {
  2737  		return io.ErrUnexpectedEOF
  2738  	}
  2739  	return nil
  2740  }
  2741  func (m *Span_Event) Unmarshal(dAtA []byte) error {
  2742  	l := len(dAtA)
  2743  	iNdEx := 0
  2744  	for iNdEx < l {
  2745  		preIndex := iNdEx
  2746  		var wire uint64
  2747  		for shift := uint(0); ; shift += 7 {
  2748  			if shift >= 64 {
  2749  				return ErrIntOverflowTrace
  2750  			}
  2751  			if iNdEx >= l {
  2752  				return io.ErrUnexpectedEOF
  2753  			}
  2754  			b := dAtA[iNdEx]
  2755  			iNdEx++
  2756  			wire |= uint64(b&0x7F) << shift
  2757  			if b < 0x80 {
  2758  				break
  2759  			}
  2760  		}
  2761  		fieldNum := int32(wire >> 3)
  2762  		wireType := int(wire & 0x7)
  2763  		if wireType == 4 {
  2764  			return fmt.Errorf("proto: Event: wiretype end group for non-group")
  2765  		}
  2766  		if fieldNum <= 0 {
  2767  			return fmt.Errorf("proto: Event: illegal tag %d (wire type %d)", fieldNum, wire)
  2768  		}
  2769  		switch fieldNum {
  2770  		case 1:
  2771  			if wireType != 1 {
  2772  				return fmt.Errorf("proto: wrong wireType = %d for field TimeUnixNano", wireType)
  2773  			}
  2774  			m.TimeUnixNano = 0
  2775  			if (iNdEx + 8) > l {
  2776  				return io.ErrUnexpectedEOF
  2777  			}
  2778  			m.TimeUnixNano = uint64(encoding_binary.LittleEndian.Uint64(dAtA[iNdEx:]))
  2779  			iNdEx += 8
  2780  		case 2:
  2781  			if wireType != 2 {
  2782  				return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType)
  2783  			}
  2784  			var stringLen uint64
  2785  			for shift := uint(0); ; shift += 7 {
  2786  				if shift >= 64 {
  2787  					return ErrIntOverflowTrace
  2788  				}
  2789  				if iNdEx >= l {
  2790  					return io.ErrUnexpectedEOF
  2791  				}
  2792  				b := dAtA[iNdEx]
  2793  				iNdEx++
  2794  				stringLen |= uint64(b&0x7F) << shift
  2795  				if b < 0x80 {
  2796  					break
  2797  				}
  2798  			}
  2799  			intStringLen := int(stringLen)
  2800  			if intStringLen < 0 {
  2801  				return ErrInvalidLengthTrace
  2802  			}
  2803  			postIndex := iNdEx + intStringLen
  2804  			if postIndex < 0 {
  2805  				return ErrInvalidLengthTrace
  2806  			}
  2807  			if postIndex > l {
  2808  				return io.ErrUnexpectedEOF
  2809  			}
  2810  			m.Name = string(dAtA[iNdEx:postIndex])
  2811  			iNdEx = postIndex
  2812  		case 3:
  2813  			if wireType != 2 {
  2814  				return fmt.Errorf("proto: wrong wireType = %d for field Attributes", wireType)
  2815  			}
  2816  			var msglen int
  2817  			for shift := uint(0); ; shift += 7 {
  2818  				if shift >= 64 {
  2819  					return ErrIntOverflowTrace
  2820  				}
  2821  				if iNdEx >= l {
  2822  					return io.ErrUnexpectedEOF
  2823  				}
  2824  				b := dAtA[iNdEx]
  2825  				iNdEx++
  2826  				msglen |= int(b&0x7F) << shift
  2827  				if b < 0x80 {
  2828  					break
  2829  				}
  2830  			}
  2831  			if msglen < 0 {
  2832  				return ErrInvalidLengthTrace
  2833  			}
  2834  			postIndex := iNdEx + msglen
  2835  			if postIndex < 0 {
  2836  				return ErrInvalidLengthTrace
  2837  			}
  2838  			if postIndex > l {
  2839  				return io.ErrUnexpectedEOF
  2840  			}
  2841  			m.Attributes = append(m.Attributes, &v11.KeyValue{})
  2842  			if err := m.Attributes[len(m.Attributes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  2843  				return err
  2844  			}
  2845  			iNdEx = postIndex
  2846  		case 4:
  2847  			if wireType != 0 {
  2848  				return fmt.Errorf("proto: wrong wireType = %d for field DroppedAttributesCount", wireType)
  2849  			}
  2850  			m.DroppedAttributesCount = 0
  2851  			for shift := uint(0); ; shift += 7 {
  2852  				if shift >= 64 {
  2853  					return ErrIntOverflowTrace
  2854  				}
  2855  				if iNdEx >= l {
  2856  					return io.ErrUnexpectedEOF
  2857  				}
  2858  				b := dAtA[iNdEx]
  2859  				iNdEx++
  2860  				m.DroppedAttributesCount |= uint32(b&0x7F) << shift
  2861  				if b < 0x80 {
  2862  					break
  2863  				}
  2864  			}
  2865  		default:
  2866  			iNdEx = preIndex
  2867  			skippy, err := skipTrace(dAtA[iNdEx:])
  2868  			if err != nil {
  2869  				return err
  2870  			}
  2871  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  2872  				return ErrInvalidLengthTrace
  2873  			}
  2874  			if (iNdEx + skippy) > l {
  2875  				return io.ErrUnexpectedEOF
  2876  			}
  2877  			iNdEx += skippy
  2878  		}
  2879  	}
  2880  
  2881  	if iNdEx > l {
  2882  		return io.ErrUnexpectedEOF
  2883  	}
  2884  	return nil
  2885  }
  2886  func (m *Span_Link) Unmarshal(dAtA []byte) error {
  2887  	l := len(dAtA)
  2888  	iNdEx := 0
  2889  	for iNdEx < l {
  2890  		preIndex := iNdEx
  2891  		var wire uint64
  2892  		for shift := uint(0); ; shift += 7 {
  2893  			if shift >= 64 {
  2894  				return ErrIntOverflowTrace
  2895  			}
  2896  			if iNdEx >= l {
  2897  				return io.ErrUnexpectedEOF
  2898  			}
  2899  			b := dAtA[iNdEx]
  2900  			iNdEx++
  2901  			wire |= uint64(b&0x7F) << shift
  2902  			if b < 0x80 {
  2903  				break
  2904  			}
  2905  		}
  2906  		fieldNum := int32(wire >> 3)
  2907  		wireType := int(wire & 0x7)
  2908  		if wireType == 4 {
  2909  			return fmt.Errorf("proto: Link: wiretype end group for non-group")
  2910  		}
  2911  		if fieldNum <= 0 {
  2912  			return fmt.Errorf("proto: Link: illegal tag %d (wire type %d)", fieldNum, wire)
  2913  		}
  2914  		switch fieldNum {
  2915  		case 1:
  2916  			if wireType != 2 {
  2917  				return fmt.Errorf("proto: wrong wireType = %d for field TraceId", wireType)
  2918  			}
  2919  			var byteLen int
  2920  			for shift := uint(0); ; shift += 7 {
  2921  				if shift >= 64 {
  2922  					return ErrIntOverflowTrace
  2923  				}
  2924  				if iNdEx >= l {
  2925  					return io.ErrUnexpectedEOF
  2926  				}
  2927  				b := dAtA[iNdEx]
  2928  				iNdEx++
  2929  				byteLen |= int(b&0x7F) << shift
  2930  				if b < 0x80 {
  2931  					break
  2932  				}
  2933  			}
  2934  			if byteLen < 0 {
  2935  				return ErrInvalidLengthTrace
  2936  			}
  2937  			postIndex := iNdEx + byteLen
  2938  			if postIndex < 0 {
  2939  				return ErrInvalidLengthTrace
  2940  			}
  2941  			if postIndex > l {
  2942  				return io.ErrUnexpectedEOF
  2943  			}
  2944  			m.TraceId = append(m.TraceId[:0], dAtA[iNdEx:postIndex]...)
  2945  			if m.TraceId == nil {
  2946  				m.TraceId = []byte{}
  2947  			}
  2948  			iNdEx = postIndex
  2949  		case 2:
  2950  			if wireType != 2 {
  2951  				return fmt.Errorf("proto: wrong wireType = %d for field SpanId", wireType)
  2952  			}
  2953  			var byteLen int
  2954  			for shift := uint(0); ; shift += 7 {
  2955  				if shift >= 64 {
  2956  					return ErrIntOverflowTrace
  2957  				}
  2958  				if iNdEx >= l {
  2959  					return io.ErrUnexpectedEOF
  2960  				}
  2961  				b := dAtA[iNdEx]
  2962  				iNdEx++
  2963  				byteLen |= int(b&0x7F) << shift
  2964  				if b < 0x80 {
  2965  					break
  2966  				}
  2967  			}
  2968  			if byteLen < 0 {
  2969  				return ErrInvalidLengthTrace
  2970  			}
  2971  			postIndex := iNdEx + byteLen
  2972  			if postIndex < 0 {
  2973  				return ErrInvalidLengthTrace
  2974  			}
  2975  			if postIndex > l {
  2976  				return io.ErrUnexpectedEOF
  2977  			}
  2978  			m.SpanId = append(m.SpanId[:0], dAtA[iNdEx:postIndex]...)
  2979  			if m.SpanId == nil {
  2980  				m.SpanId = []byte{}
  2981  			}
  2982  			iNdEx = postIndex
  2983  		case 3:
  2984  			if wireType != 2 {
  2985  				return fmt.Errorf("proto: wrong wireType = %d for field TraceState", wireType)
  2986  			}
  2987  			var stringLen uint64
  2988  			for shift := uint(0); ; shift += 7 {
  2989  				if shift >= 64 {
  2990  					return ErrIntOverflowTrace
  2991  				}
  2992  				if iNdEx >= l {
  2993  					return io.ErrUnexpectedEOF
  2994  				}
  2995  				b := dAtA[iNdEx]
  2996  				iNdEx++
  2997  				stringLen |= uint64(b&0x7F) << shift
  2998  				if b < 0x80 {
  2999  					break
  3000  				}
  3001  			}
  3002  			intStringLen := int(stringLen)
  3003  			if intStringLen < 0 {
  3004  				return ErrInvalidLengthTrace
  3005  			}
  3006  			postIndex := iNdEx + intStringLen
  3007  			if postIndex < 0 {
  3008  				return ErrInvalidLengthTrace
  3009  			}
  3010  			if postIndex > l {
  3011  				return io.ErrUnexpectedEOF
  3012  			}
  3013  			m.TraceState = string(dAtA[iNdEx:postIndex])
  3014  			iNdEx = postIndex
  3015  		case 4:
  3016  			if wireType != 2 {
  3017  				return fmt.Errorf("proto: wrong wireType = %d for field Attributes", wireType)
  3018  			}
  3019  			var msglen int
  3020  			for shift := uint(0); ; shift += 7 {
  3021  				if shift >= 64 {
  3022  					return ErrIntOverflowTrace
  3023  				}
  3024  				if iNdEx >= l {
  3025  					return io.ErrUnexpectedEOF
  3026  				}
  3027  				b := dAtA[iNdEx]
  3028  				iNdEx++
  3029  				msglen |= int(b&0x7F) << shift
  3030  				if b < 0x80 {
  3031  					break
  3032  				}
  3033  			}
  3034  			if msglen < 0 {
  3035  				return ErrInvalidLengthTrace
  3036  			}
  3037  			postIndex := iNdEx + msglen
  3038  			if postIndex < 0 {
  3039  				return ErrInvalidLengthTrace
  3040  			}
  3041  			if postIndex > l {
  3042  				return io.ErrUnexpectedEOF
  3043  			}
  3044  			m.Attributes = append(m.Attributes, &v11.KeyValue{})
  3045  			if err := m.Attributes[len(m.Attributes)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
  3046  				return err
  3047  			}
  3048  			iNdEx = postIndex
  3049  		case 5:
  3050  			if wireType != 0 {
  3051  				return fmt.Errorf("proto: wrong wireType = %d for field DroppedAttributesCount", wireType)
  3052  			}
  3053  			m.DroppedAttributesCount = 0
  3054  			for shift := uint(0); ; shift += 7 {
  3055  				if shift >= 64 {
  3056  					return ErrIntOverflowTrace
  3057  				}
  3058  				if iNdEx >= l {
  3059  					return io.ErrUnexpectedEOF
  3060  				}
  3061  				b := dAtA[iNdEx]
  3062  				iNdEx++
  3063  				m.DroppedAttributesCount |= uint32(b&0x7F) << shift
  3064  				if b < 0x80 {
  3065  					break
  3066  				}
  3067  			}
  3068  		default:
  3069  			iNdEx = preIndex
  3070  			skippy, err := skipTrace(dAtA[iNdEx:])
  3071  			if err != nil {
  3072  				return err
  3073  			}
  3074  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3075  				return ErrInvalidLengthTrace
  3076  			}
  3077  			if (iNdEx + skippy) > l {
  3078  				return io.ErrUnexpectedEOF
  3079  			}
  3080  			iNdEx += skippy
  3081  		}
  3082  	}
  3083  
  3084  	if iNdEx > l {
  3085  		return io.ErrUnexpectedEOF
  3086  	}
  3087  	return nil
  3088  }
  3089  func (m *Status) Unmarshal(dAtA []byte) error {
  3090  	l := len(dAtA)
  3091  	iNdEx := 0
  3092  	for iNdEx < l {
  3093  		preIndex := iNdEx
  3094  		var wire uint64
  3095  		for shift := uint(0); ; shift += 7 {
  3096  			if shift >= 64 {
  3097  				return ErrIntOverflowTrace
  3098  			}
  3099  			if iNdEx >= l {
  3100  				return io.ErrUnexpectedEOF
  3101  			}
  3102  			b := dAtA[iNdEx]
  3103  			iNdEx++
  3104  			wire |= uint64(b&0x7F) << shift
  3105  			if b < 0x80 {
  3106  				break
  3107  			}
  3108  		}
  3109  		fieldNum := int32(wire >> 3)
  3110  		wireType := int(wire & 0x7)
  3111  		if wireType == 4 {
  3112  			return fmt.Errorf("proto: Status: wiretype end group for non-group")
  3113  		}
  3114  		if fieldNum <= 0 {
  3115  			return fmt.Errorf("proto: Status: illegal tag %d (wire type %d)", fieldNum, wire)
  3116  		}
  3117  		switch fieldNum {
  3118  		case 2:
  3119  			if wireType != 2 {
  3120  				return fmt.Errorf("proto: wrong wireType = %d for field Message", wireType)
  3121  			}
  3122  			var stringLen uint64
  3123  			for shift := uint(0); ; shift += 7 {
  3124  				if shift >= 64 {
  3125  					return ErrIntOverflowTrace
  3126  				}
  3127  				if iNdEx >= l {
  3128  					return io.ErrUnexpectedEOF
  3129  				}
  3130  				b := dAtA[iNdEx]
  3131  				iNdEx++
  3132  				stringLen |= uint64(b&0x7F) << shift
  3133  				if b < 0x80 {
  3134  					break
  3135  				}
  3136  			}
  3137  			intStringLen := int(stringLen)
  3138  			if intStringLen < 0 {
  3139  				return ErrInvalidLengthTrace
  3140  			}
  3141  			postIndex := iNdEx + intStringLen
  3142  			if postIndex < 0 {
  3143  				return ErrInvalidLengthTrace
  3144  			}
  3145  			if postIndex > l {
  3146  				return io.ErrUnexpectedEOF
  3147  			}
  3148  			m.Message = string(dAtA[iNdEx:postIndex])
  3149  			iNdEx = postIndex
  3150  		case 3:
  3151  			if wireType != 0 {
  3152  				return fmt.Errorf("proto: wrong wireType = %d for field Code", wireType)
  3153  			}
  3154  			m.Code = 0
  3155  			for shift := uint(0); ; shift += 7 {
  3156  				if shift >= 64 {
  3157  					return ErrIntOverflowTrace
  3158  				}
  3159  				if iNdEx >= l {
  3160  					return io.ErrUnexpectedEOF
  3161  				}
  3162  				b := dAtA[iNdEx]
  3163  				iNdEx++
  3164  				m.Code |= Status_StatusCode(b&0x7F) << shift
  3165  				if b < 0x80 {
  3166  					break
  3167  				}
  3168  			}
  3169  		default:
  3170  			iNdEx = preIndex
  3171  			skippy, err := skipTrace(dAtA[iNdEx:])
  3172  			if err != nil {
  3173  				return err
  3174  			}
  3175  			if (skippy < 0) || (iNdEx+skippy) < 0 {
  3176  				return ErrInvalidLengthTrace
  3177  			}
  3178  			if (iNdEx + skippy) > l {
  3179  				return io.ErrUnexpectedEOF
  3180  			}
  3181  			iNdEx += skippy
  3182  		}
  3183  	}
  3184  
  3185  	if iNdEx > l {
  3186  		return io.ErrUnexpectedEOF
  3187  	}
  3188  	return nil
  3189  }
  3190  func skipTrace(dAtA []byte) (n int, err error) {
  3191  	l := len(dAtA)
  3192  	iNdEx := 0
  3193  	depth := 0
  3194  	for iNdEx < l {
  3195  		var wire uint64
  3196  		for shift := uint(0); ; shift += 7 {
  3197  			if shift >= 64 {
  3198  				return 0, ErrIntOverflowTrace
  3199  			}
  3200  			if iNdEx >= l {
  3201  				return 0, io.ErrUnexpectedEOF
  3202  			}
  3203  			b := dAtA[iNdEx]
  3204  			iNdEx++
  3205  			wire |= (uint64(b) & 0x7F) << shift
  3206  			if b < 0x80 {
  3207  				break
  3208  			}
  3209  		}
  3210  		wireType := int(wire & 0x7)
  3211  		switch wireType {
  3212  		case 0:
  3213  			for shift := uint(0); ; shift += 7 {
  3214  				if shift >= 64 {
  3215  					return 0, ErrIntOverflowTrace
  3216  				}
  3217  				if iNdEx >= l {
  3218  					return 0, io.ErrUnexpectedEOF
  3219  				}
  3220  				iNdEx++
  3221  				if dAtA[iNdEx-1] < 0x80 {
  3222  					break
  3223  				}
  3224  			}
  3225  		case 1:
  3226  			iNdEx += 8
  3227  		case 2:
  3228  			var length int
  3229  			for shift := uint(0); ; shift += 7 {
  3230  				if shift >= 64 {
  3231  					return 0, ErrIntOverflowTrace
  3232  				}
  3233  				if iNdEx >= l {
  3234  					return 0, io.ErrUnexpectedEOF
  3235  				}
  3236  				b := dAtA[iNdEx]
  3237  				iNdEx++
  3238  				length |= (int(b) & 0x7F) << shift
  3239  				if b < 0x80 {
  3240  					break
  3241  				}
  3242  			}
  3243  			if length < 0 {
  3244  				return 0, ErrInvalidLengthTrace
  3245  			}
  3246  			iNdEx += length
  3247  		case 3:
  3248  			depth++
  3249  		case 4:
  3250  			if depth == 0 {
  3251  				return 0, ErrUnexpectedEndOfGroupTrace
  3252  			}
  3253  			depth--
  3254  		case 5:
  3255  			iNdEx += 4
  3256  		default:
  3257  			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
  3258  		}
  3259  		if iNdEx < 0 {
  3260  			return 0, ErrInvalidLengthTrace
  3261  		}
  3262  		if depth == 0 {
  3263  			return iNdEx, nil
  3264  		}
  3265  	}
  3266  	return 0, io.ErrUnexpectedEOF
  3267  }
  3268  
  3269  var (
  3270  	ErrInvalidLengthTrace        = fmt.Errorf("proto: negative length found during unmarshaling")
  3271  	ErrIntOverflowTrace          = fmt.Errorf("proto: integer overflow")
  3272  	ErrUnexpectedEndOfGroupTrace = fmt.Errorf("proto: unexpected end of group")
  3273  )