• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2017, OpenCensus Authors
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Code generated by protoc-gen-go. DO NOT EDIT.
16// versions:
17// 	protoc-gen-go v1.25.0
18// 	protoc        v3.12.3
19// source: opencensus/proto/trace/v1/trace.proto
20
21package v1
22
23import (
24	v1 "github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1"
25	proto "github.com/golang/protobuf/proto"
26	timestamp "github.com/golang/protobuf/ptypes/timestamp"
27	wrappers "github.com/golang/protobuf/ptypes/wrappers"
28	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
29	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
30	reflect "reflect"
31	sync "sync"
32)
33
34const (
35	// Verify that this generated code is sufficiently up-to-date.
36	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
37	// Verify that runtime/protoimpl is sufficiently up-to-date.
38	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
39)
40
41// This is a compile-time assertion that a sufficiently up-to-date version
42// of the legacy proto package is being used.
43const _ = proto.ProtoPackageIsVersion4
44
45// Type of span. Can be used to specify additional relationships between spans
46// in addition to a parent/child relationship.
47type Span_SpanKind int32
48
49const (
50	// Unspecified.
51	Span_SPAN_KIND_UNSPECIFIED Span_SpanKind = 0
52	// Indicates that the span covers server-side handling of an RPC or other
53	// remote network request.
54	Span_SERVER Span_SpanKind = 1
55	// Indicates that the span covers the client-side wrapper around an RPC or
56	// other remote request.
57	Span_CLIENT Span_SpanKind = 2
58)
59
60// Enum value maps for Span_SpanKind.
61var (
62	Span_SpanKind_name = map[int32]string{
63		0: "SPAN_KIND_UNSPECIFIED",
64		1: "SERVER",
65		2: "CLIENT",
66	}
67	Span_SpanKind_value = map[string]int32{
68		"SPAN_KIND_UNSPECIFIED": 0,
69		"SERVER":                1,
70		"CLIENT":                2,
71	}
72)
73
74func (x Span_SpanKind) Enum() *Span_SpanKind {
75	p := new(Span_SpanKind)
76	*p = x
77	return p
78}
79
80func (x Span_SpanKind) String() string {
81	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
82}
83
84func (Span_SpanKind) Descriptor() protoreflect.EnumDescriptor {
85	return file_opencensus_proto_trace_v1_trace_proto_enumTypes[0].Descriptor()
86}
87
88func (Span_SpanKind) Type() protoreflect.EnumType {
89	return &file_opencensus_proto_trace_v1_trace_proto_enumTypes[0]
90}
91
92func (x Span_SpanKind) Number() protoreflect.EnumNumber {
93	return protoreflect.EnumNumber(x)
94}
95
96// Deprecated: Use Span_SpanKind.Descriptor instead.
97func (Span_SpanKind) EnumDescriptor() ([]byte, []int) {
98	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{0, 0}
99}
100
101// Indicates whether the message was sent or received.
102type Span_TimeEvent_MessageEvent_Type int32
103
104const (
105	// Unknown event type.
106	Span_TimeEvent_MessageEvent_TYPE_UNSPECIFIED Span_TimeEvent_MessageEvent_Type = 0
107	// Indicates a sent message.
108	Span_TimeEvent_MessageEvent_SENT Span_TimeEvent_MessageEvent_Type = 1
109	// Indicates a received message.
110	Span_TimeEvent_MessageEvent_RECEIVED Span_TimeEvent_MessageEvent_Type = 2
111)
112
113// Enum value maps for Span_TimeEvent_MessageEvent_Type.
114var (
115	Span_TimeEvent_MessageEvent_Type_name = map[int32]string{
116		0: "TYPE_UNSPECIFIED",
117		1: "SENT",
118		2: "RECEIVED",
119	}
120	Span_TimeEvent_MessageEvent_Type_value = map[string]int32{
121		"TYPE_UNSPECIFIED": 0,
122		"SENT":             1,
123		"RECEIVED":         2,
124	}
125)
126
127func (x Span_TimeEvent_MessageEvent_Type) Enum() *Span_TimeEvent_MessageEvent_Type {
128	p := new(Span_TimeEvent_MessageEvent_Type)
129	*p = x
130	return p
131}
132
133func (x Span_TimeEvent_MessageEvent_Type) String() string {
134	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
135}
136
137func (Span_TimeEvent_MessageEvent_Type) Descriptor() protoreflect.EnumDescriptor {
138	return file_opencensus_proto_trace_v1_trace_proto_enumTypes[1].Descriptor()
139}
140
141func (Span_TimeEvent_MessageEvent_Type) Type() protoreflect.EnumType {
142	return &file_opencensus_proto_trace_v1_trace_proto_enumTypes[1]
143}
144
145func (x Span_TimeEvent_MessageEvent_Type) Number() protoreflect.EnumNumber {
146	return protoreflect.EnumNumber(x)
147}
148
149// Deprecated: Use Span_TimeEvent_MessageEvent_Type.Descriptor instead.
150func (Span_TimeEvent_MessageEvent_Type) EnumDescriptor() ([]byte, []int) {
151	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{0, 2, 1, 0}
152}
153
154// The relationship of the current span relative to the linked span: child,
155// parent, or unspecified.
156type Span_Link_Type int32
157
158const (
159	// The relationship of the two spans is unknown, or known but other
160	// than parent-child.
161	Span_Link_TYPE_UNSPECIFIED Span_Link_Type = 0
162	// The linked span is a child of the current span.
163	Span_Link_CHILD_LINKED_SPAN Span_Link_Type = 1
164	// The linked span is a parent of the current span.
165	Span_Link_PARENT_LINKED_SPAN Span_Link_Type = 2
166)
167
168// Enum value maps for Span_Link_Type.
169var (
170	Span_Link_Type_name = map[int32]string{
171		0: "TYPE_UNSPECIFIED",
172		1: "CHILD_LINKED_SPAN",
173		2: "PARENT_LINKED_SPAN",
174	}
175	Span_Link_Type_value = map[string]int32{
176		"TYPE_UNSPECIFIED":   0,
177		"CHILD_LINKED_SPAN":  1,
178		"PARENT_LINKED_SPAN": 2,
179	}
180)
181
182func (x Span_Link_Type) Enum() *Span_Link_Type {
183	p := new(Span_Link_Type)
184	*p = x
185	return p
186}
187
188func (x Span_Link_Type) String() string {
189	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
190}
191
192func (Span_Link_Type) Descriptor() protoreflect.EnumDescriptor {
193	return file_opencensus_proto_trace_v1_trace_proto_enumTypes[2].Descriptor()
194}
195
196func (Span_Link_Type) Type() protoreflect.EnumType {
197	return &file_opencensus_proto_trace_v1_trace_proto_enumTypes[2]
198}
199
200func (x Span_Link_Type) Number() protoreflect.EnumNumber {
201	return protoreflect.EnumNumber(x)
202}
203
204// Deprecated: Use Span_Link_Type.Descriptor instead.
205func (Span_Link_Type) EnumDescriptor() ([]byte, []int) {
206	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{0, 4, 0}
207}
208
209// A span represents a single operation within a trace. Spans can be
210// nested to form a trace tree. Spans may also be linked to other spans
211// from the same or different trace. And form graphs. Often, a trace
212// contains a root span that describes the end-to-end latency, and one
213// or more subspans for its sub-operations. A trace can also contain
214// multiple root spans, or none at all. Spans do not need to be
215// contiguous - there may be gaps or overlaps between spans in a trace.
216//
217// The next id is 17.
218// TODO(bdrutu): Add an example.
219type Span struct {
220	state         protoimpl.MessageState
221	sizeCache     protoimpl.SizeCache
222	unknownFields protoimpl.UnknownFields
223
224	// A unique identifier for a trace. All spans from the same trace share
225	// the same `trace_id`. The ID is a 16-byte array. An ID with all zeroes
226	// is considered invalid.
227	//
228	// This field is semantically required. Receiver should generate new
229	// random trace_id if empty or invalid trace_id was received.
230	//
231	// This field is required.
232	TraceId []byte `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
233	// A unique identifier for a span within a trace, assigned when the span
234	// is created. The ID is an 8-byte array. An ID with all zeroes is considered
235	// invalid.
236	//
237	// This field is semantically required. Receiver should generate new
238	// random span_id if empty or invalid span_id was received.
239	//
240	// This field is required.
241	SpanId []byte `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"`
242	// The Tracestate on the span.
243	Tracestate *Span_Tracestate `protobuf:"bytes,15,opt,name=tracestate,proto3" json:"tracestate,omitempty"`
244	// The `span_id` of this span's parent span. If this is a root span, then this
245	// field must be empty. The ID is an 8-byte array.
246	ParentSpanId []byte `protobuf:"bytes,3,opt,name=parent_span_id,json=parentSpanId,proto3" json:"parent_span_id,omitempty"`
247	// A description of the span's operation.
248	//
249	// For example, the name can be a qualified method name or a file name
250	// and a line number where the operation is called. A best practice is to use
251	// the same display name at the same call point in an application.
252	// This makes it easier to correlate spans in different traces.
253	//
254	// This field is semantically required to be set to non-empty string.
255	// When null or empty string received - receiver may use string "name"
256	// as a replacement. There might be smarted algorithms implemented by
257	// receiver to fix the empty span name.
258	//
259	// This field is required.
260	Name *TruncatableString `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
261	// Distinguishes between spans generated in a particular context. For example,
262	// two spans with the same name may be distinguished using `CLIENT` (caller)
263	// and `SERVER` (callee) to identify queueing latency associated with the span.
264	Kind Span_SpanKind `protobuf:"varint,14,opt,name=kind,proto3,enum=opencensus.proto.trace.v1.Span_SpanKind" json:"kind,omitempty"`
265	// The start time of the span. On the client side, this is the time kept by
266	// the local machine where the span execution starts. On the server side, this
267	// is the time when the server's application handler starts running.
268	//
269	// This field is semantically required. When not set on receive -
270	// receiver should set it to the value of end_time field if it was
271	// set. Or to the current time if neither was set. It is important to
272	// keep end_time > start_time for consistency.
273	//
274	// This field is required.
275	StartTime *timestamp.Timestamp `protobuf:"bytes,5,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
276	// The end time of the span. On the client side, this is the time kept by
277	// the local machine where the span execution ends. On the server side, this
278	// is the time when the server application handler stops running.
279	//
280	// This field is semantically required. When not set on receive -
281	// receiver should set it to start_time value. It is important to
282	// keep end_time > start_time for consistency.
283	//
284	// This field is required.
285	EndTime *timestamp.Timestamp `protobuf:"bytes,6,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"`
286	// A set of attributes on the span.
287	Attributes *Span_Attributes `protobuf:"bytes,7,opt,name=attributes,proto3" json:"attributes,omitempty"`
288	// A stack trace captured at the start of the span.
289	StackTrace *StackTrace `protobuf:"bytes,8,opt,name=stack_trace,json=stackTrace,proto3" json:"stack_trace,omitempty"`
290	// The included time events.
291	TimeEvents *Span_TimeEvents `protobuf:"bytes,9,opt,name=time_events,json=timeEvents,proto3" json:"time_events,omitempty"`
292	// The included links.
293	Links *Span_Links `protobuf:"bytes,10,opt,name=links,proto3" json:"links,omitempty"`
294	// An optional final status for this span. Semantically when Status
295	// wasn't set it is means span ended without errors and assume
296	// Status.Ok (code = 0).
297	Status *Status `protobuf:"bytes,11,opt,name=status,proto3" json:"status,omitempty"`
298	// An optional resource that is associated with this span. If not set, this span
299	// should be part of a batch that does include the resource information, unless resource
300	// information is unknown.
301	Resource *v1.Resource `protobuf:"bytes,16,opt,name=resource,proto3" json:"resource,omitempty"`
302	// A highly recommended but not required flag that identifies when a
303	// trace crosses a process boundary. True when the parent_span belongs
304	// to the same process as the current span. This flag is most commonly
305	// used to indicate the need to adjust time as clocks in different
306	// processes may not be synchronized.
307	SameProcessAsParentSpan *wrappers.BoolValue `protobuf:"bytes,12,opt,name=same_process_as_parent_span,json=sameProcessAsParentSpan,proto3" json:"same_process_as_parent_span,omitempty"`
308	// An optional number of child spans that were generated while this span
309	// was active. If set, allows an implementation to detect missing child spans.
310	ChildSpanCount *wrappers.UInt32Value `protobuf:"bytes,13,opt,name=child_span_count,json=childSpanCount,proto3" json:"child_span_count,omitempty"`
311}
312
313func (x *Span) Reset() {
314	*x = Span{}
315	if protoimpl.UnsafeEnabled {
316		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[0]
317		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
318		ms.StoreMessageInfo(mi)
319	}
320}
321
322func (x *Span) String() string {
323	return protoimpl.X.MessageStringOf(x)
324}
325
326func (*Span) ProtoMessage() {}
327
328func (x *Span) ProtoReflect() protoreflect.Message {
329	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[0]
330	if protoimpl.UnsafeEnabled && x != nil {
331		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
332		if ms.LoadMessageInfo() == nil {
333			ms.StoreMessageInfo(mi)
334		}
335		return ms
336	}
337	return mi.MessageOf(x)
338}
339
340// Deprecated: Use Span.ProtoReflect.Descriptor instead.
341func (*Span) Descriptor() ([]byte, []int) {
342	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{0}
343}
344
345func (x *Span) GetTraceId() []byte {
346	if x != nil {
347		return x.TraceId
348	}
349	return nil
350}
351
352func (x *Span) GetSpanId() []byte {
353	if x != nil {
354		return x.SpanId
355	}
356	return nil
357}
358
359func (x *Span) GetTracestate() *Span_Tracestate {
360	if x != nil {
361		return x.Tracestate
362	}
363	return nil
364}
365
366func (x *Span) GetParentSpanId() []byte {
367	if x != nil {
368		return x.ParentSpanId
369	}
370	return nil
371}
372
373func (x *Span) GetName() *TruncatableString {
374	if x != nil {
375		return x.Name
376	}
377	return nil
378}
379
380func (x *Span) GetKind() Span_SpanKind {
381	if x != nil {
382		return x.Kind
383	}
384	return Span_SPAN_KIND_UNSPECIFIED
385}
386
387func (x *Span) GetStartTime() *timestamp.Timestamp {
388	if x != nil {
389		return x.StartTime
390	}
391	return nil
392}
393
394func (x *Span) GetEndTime() *timestamp.Timestamp {
395	if x != nil {
396		return x.EndTime
397	}
398	return nil
399}
400
401func (x *Span) GetAttributes() *Span_Attributes {
402	if x != nil {
403		return x.Attributes
404	}
405	return nil
406}
407
408func (x *Span) GetStackTrace() *StackTrace {
409	if x != nil {
410		return x.StackTrace
411	}
412	return nil
413}
414
415func (x *Span) GetTimeEvents() *Span_TimeEvents {
416	if x != nil {
417		return x.TimeEvents
418	}
419	return nil
420}
421
422func (x *Span) GetLinks() *Span_Links {
423	if x != nil {
424		return x.Links
425	}
426	return nil
427}
428
429func (x *Span) GetStatus() *Status {
430	if x != nil {
431		return x.Status
432	}
433	return nil
434}
435
436func (x *Span) GetResource() *v1.Resource {
437	if x != nil {
438		return x.Resource
439	}
440	return nil
441}
442
443func (x *Span) GetSameProcessAsParentSpan() *wrappers.BoolValue {
444	if x != nil {
445		return x.SameProcessAsParentSpan
446	}
447	return nil
448}
449
450func (x *Span) GetChildSpanCount() *wrappers.UInt32Value {
451	if x != nil {
452		return x.ChildSpanCount
453	}
454	return nil
455}
456
457// The `Status` type defines a logical error model that is suitable for different
458// programming environments, including REST APIs and RPC APIs. This proto's fields
459// are a subset of those of
460// [google.rpc.Status](https://github.com/googleapis/googleapis/blob/master/google/rpc/status.proto),
461// which is used by [gRPC](https://github.com/grpc).
462type Status struct {
463	state         protoimpl.MessageState
464	sizeCache     protoimpl.SizeCache
465	unknownFields protoimpl.UnknownFields
466
467	// The status code. This is optional field. It is safe to assume 0 (OK)
468	// when not set.
469	Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
470	// A developer-facing error message, which should be in English.
471	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
472}
473
474func (x *Status) Reset() {
475	*x = Status{}
476	if protoimpl.UnsafeEnabled {
477		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[1]
478		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
479		ms.StoreMessageInfo(mi)
480	}
481}
482
483func (x *Status) String() string {
484	return protoimpl.X.MessageStringOf(x)
485}
486
487func (*Status) ProtoMessage() {}
488
489func (x *Status) ProtoReflect() protoreflect.Message {
490	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[1]
491	if protoimpl.UnsafeEnabled && x != nil {
492		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
493		if ms.LoadMessageInfo() == nil {
494			ms.StoreMessageInfo(mi)
495		}
496		return ms
497	}
498	return mi.MessageOf(x)
499}
500
501// Deprecated: Use Status.ProtoReflect.Descriptor instead.
502func (*Status) Descriptor() ([]byte, []int) {
503	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{1}
504}
505
506func (x *Status) GetCode() int32 {
507	if x != nil {
508		return x.Code
509	}
510	return 0
511}
512
513func (x *Status) GetMessage() string {
514	if x != nil {
515		return x.Message
516	}
517	return ""
518}
519
520// The value of an Attribute.
521type AttributeValue struct {
522	state         protoimpl.MessageState
523	sizeCache     protoimpl.SizeCache
524	unknownFields protoimpl.UnknownFields
525
526	// The type of the value.
527	//
528	// Types that are assignable to Value:
529	//	*AttributeValue_StringValue
530	//	*AttributeValue_IntValue
531	//	*AttributeValue_BoolValue
532	//	*AttributeValue_DoubleValue
533	Value isAttributeValue_Value `protobuf_oneof:"value"`
534}
535
536func (x *AttributeValue) Reset() {
537	*x = AttributeValue{}
538	if protoimpl.UnsafeEnabled {
539		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[2]
540		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
541		ms.StoreMessageInfo(mi)
542	}
543}
544
545func (x *AttributeValue) String() string {
546	return protoimpl.X.MessageStringOf(x)
547}
548
549func (*AttributeValue) ProtoMessage() {}
550
551func (x *AttributeValue) ProtoReflect() protoreflect.Message {
552	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[2]
553	if protoimpl.UnsafeEnabled && x != nil {
554		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
555		if ms.LoadMessageInfo() == nil {
556			ms.StoreMessageInfo(mi)
557		}
558		return ms
559	}
560	return mi.MessageOf(x)
561}
562
563// Deprecated: Use AttributeValue.ProtoReflect.Descriptor instead.
564func (*AttributeValue) Descriptor() ([]byte, []int) {
565	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{2}
566}
567
568func (m *AttributeValue) GetValue() isAttributeValue_Value {
569	if m != nil {
570		return m.Value
571	}
572	return nil
573}
574
575func (x *AttributeValue) GetStringValue() *TruncatableString {
576	if x, ok := x.GetValue().(*AttributeValue_StringValue); ok {
577		return x.StringValue
578	}
579	return nil
580}
581
582func (x *AttributeValue) GetIntValue() int64 {
583	if x, ok := x.GetValue().(*AttributeValue_IntValue); ok {
584		return x.IntValue
585	}
586	return 0
587}
588
589func (x *AttributeValue) GetBoolValue() bool {
590	if x, ok := x.GetValue().(*AttributeValue_BoolValue); ok {
591		return x.BoolValue
592	}
593	return false
594}
595
596func (x *AttributeValue) GetDoubleValue() float64 {
597	if x, ok := x.GetValue().(*AttributeValue_DoubleValue); ok {
598		return x.DoubleValue
599	}
600	return 0
601}
602
603type isAttributeValue_Value interface {
604	isAttributeValue_Value()
605}
606
607type AttributeValue_StringValue struct {
608	// A string up to 256 bytes long.
609	StringValue *TruncatableString `protobuf:"bytes,1,opt,name=string_value,json=stringValue,proto3,oneof"`
610}
611
612type AttributeValue_IntValue struct {
613	// A 64-bit signed integer.
614	IntValue int64 `protobuf:"varint,2,opt,name=int_value,json=intValue,proto3,oneof"`
615}
616
617type AttributeValue_BoolValue struct {
618	// A Boolean value represented by `true` or `false`.
619	BoolValue bool `protobuf:"varint,3,opt,name=bool_value,json=boolValue,proto3,oneof"`
620}
621
622type AttributeValue_DoubleValue struct {
623	// A double value.
624	DoubleValue float64 `protobuf:"fixed64,4,opt,name=double_value,json=doubleValue,proto3,oneof"`
625}
626
627func (*AttributeValue_StringValue) isAttributeValue_Value() {}
628
629func (*AttributeValue_IntValue) isAttributeValue_Value() {}
630
631func (*AttributeValue_BoolValue) isAttributeValue_Value() {}
632
633func (*AttributeValue_DoubleValue) isAttributeValue_Value() {}
634
635// The call stack which originated this span.
636type StackTrace struct {
637	state         protoimpl.MessageState
638	sizeCache     protoimpl.SizeCache
639	unknownFields protoimpl.UnknownFields
640
641	// Stack frames in this stack trace.
642	StackFrames *StackTrace_StackFrames `protobuf:"bytes,1,opt,name=stack_frames,json=stackFrames,proto3" json:"stack_frames,omitempty"`
643	// The hash ID is used to conserve network bandwidth for duplicate
644	// stack traces within a single trace.
645	//
646	// Often multiple spans will have identical stack traces.
647	// The first occurrence of a stack trace should contain both
648	// `stack_frames` and a value in `stack_trace_hash_id`.
649	//
650	// Subsequent spans within the same request can refer
651	// to that stack trace by setting only `stack_trace_hash_id`.
652	//
653	// TODO: describe how to deal with the case where stack_trace_hash_id is
654	// zero because it was not set.
655	StackTraceHashId uint64 `protobuf:"varint,2,opt,name=stack_trace_hash_id,json=stackTraceHashId,proto3" json:"stack_trace_hash_id,omitempty"`
656}
657
658func (x *StackTrace) Reset() {
659	*x = StackTrace{}
660	if protoimpl.UnsafeEnabled {
661		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[3]
662		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
663		ms.StoreMessageInfo(mi)
664	}
665}
666
667func (x *StackTrace) String() string {
668	return protoimpl.X.MessageStringOf(x)
669}
670
671func (*StackTrace) ProtoMessage() {}
672
673func (x *StackTrace) ProtoReflect() protoreflect.Message {
674	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[3]
675	if protoimpl.UnsafeEnabled && x != nil {
676		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
677		if ms.LoadMessageInfo() == nil {
678			ms.StoreMessageInfo(mi)
679		}
680		return ms
681	}
682	return mi.MessageOf(x)
683}
684
685// Deprecated: Use StackTrace.ProtoReflect.Descriptor instead.
686func (*StackTrace) Descriptor() ([]byte, []int) {
687	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{3}
688}
689
690func (x *StackTrace) GetStackFrames() *StackTrace_StackFrames {
691	if x != nil {
692		return x.StackFrames
693	}
694	return nil
695}
696
697func (x *StackTrace) GetStackTraceHashId() uint64 {
698	if x != nil {
699		return x.StackTraceHashId
700	}
701	return 0
702}
703
704// A description of a binary module.
705type Module struct {
706	state         protoimpl.MessageState
707	sizeCache     protoimpl.SizeCache
708	unknownFields protoimpl.UnknownFields
709
710	// TODO: document the meaning of this field.
711	// For example: main binary, kernel modules, and dynamic libraries
712	// such as libc.so, sharedlib.so.
713	Module *TruncatableString `protobuf:"bytes,1,opt,name=module,proto3" json:"module,omitempty"`
714	// A unique identifier for the module, usually a hash of its
715	// contents.
716	BuildId *TruncatableString `protobuf:"bytes,2,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"`
717}
718
719func (x *Module) Reset() {
720	*x = Module{}
721	if protoimpl.UnsafeEnabled {
722		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[4]
723		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
724		ms.StoreMessageInfo(mi)
725	}
726}
727
728func (x *Module) String() string {
729	return protoimpl.X.MessageStringOf(x)
730}
731
732func (*Module) ProtoMessage() {}
733
734func (x *Module) ProtoReflect() protoreflect.Message {
735	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[4]
736	if protoimpl.UnsafeEnabled && x != nil {
737		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
738		if ms.LoadMessageInfo() == nil {
739			ms.StoreMessageInfo(mi)
740		}
741		return ms
742	}
743	return mi.MessageOf(x)
744}
745
746// Deprecated: Use Module.ProtoReflect.Descriptor instead.
747func (*Module) Descriptor() ([]byte, []int) {
748	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{4}
749}
750
751func (x *Module) GetModule() *TruncatableString {
752	if x != nil {
753		return x.Module
754	}
755	return nil
756}
757
758func (x *Module) GetBuildId() *TruncatableString {
759	if x != nil {
760		return x.BuildId
761	}
762	return nil
763}
764
765// A string that might be shortened to a specified length.
766type TruncatableString struct {
767	state         protoimpl.MessageState
768	sizeCache     protoimpl.SizeCache
769	unknownFields protoimpl.UnknownFields
770
771	// The shortened string. For example, if the original string was 500 bytes long and
772	// the limit of the string was 128 bytes, then this value contains the first 128
773	// bytes of the 500-byte string. Note that truncation always happens on a
774	// character boundary, to ensure that a truncated string is still valid UTF-8.
775	// Because it may contain multi-byte characters, the size of the truncated string
776	// may be less than the truncation limit.
777	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
778	// The number of bytes removed from the original string. If this
779	// value is 0, then the string was not shortened.
780	TruncatedByteCount int32 `protobuf:"varint,2,opt,name=truncated_byte_count,json=truncatedByteCount,proto3" json:"truncated_byte_count,omitempty"`
781}
782
783func (x *TruncatableString) Reset() {
784	*x = TruncatableString{}
785	if protoimpl.UnsafeEnabled {
786		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[5]
787		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
788		ms.StoreMessageInfo(mi)
789	}
790}
791
792func (x *TruncatableString) String() string {
793	return protoimpl.X.MessageStringOf(x)
794}
795
796func (*TruncatableString) ProtoMessage() {}
797
798func (x *TruncatableString) ProtoReflect() protoreflect.Message {
799	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[5]
800	if protoimpl.UnsafeEnabled && x != nil {
801		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
802		if ms.LoadMessageInfo() == nil {
803			ms.StoreMessageInfo(mi)
804		}
805		return ms
806	}
807	return mi.MessageOf(x)
808}
809
810// Deprecated: Use TruncatableString.ProtoReflect.Descriptor instead.
811func (*TruncatableString) Descriptor() ([]byte, []int) {
812	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{5}
813}
814
815func (x *TruncatableString) GetValue() string {
816	if x != nil {
817		return x.Value
818	}
819	return ""
820}
821
822func (x *TruncatableString) GetTruncatedByteCount() int32 {
823	if x != nil {
824		return x.TruncatedByteCount
825	}
826	return 0
827}
828
829// This field conveys information about request position in multiple distributed tracing graphs.
830// It is a list of Tracestate.Entry with a maximum of 32 members in the list.
831//
832// See the https://github.com/w3c/distributed-tracing for more details about this field.
833type Span_Tracestate struct {
834	state         protoimpl.MessageState
835	sizeCache     protoimpl.SizeCache
836	unknownFields protoimpl.UnknownFields
837
838	// A list of entries that represent the Tracestate.
839	Entries []*Span_Tracestate_Entry `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty"`
840}
841
842func (x *Span_Tracestate) Reset() {
843	*x = Span_Tracestate{}
844	if protoimpl.UnsafeEnabled {
845		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[6]
846		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
847		ms.StoreMessageInfo(mi)
848	}
849}
850
851func (x *Span_Tracestate) String() string {
852	return protoimpl.X.MessageStringOf(x)
853}
854
855func (*Span_Tracestate) ProtoMessage() {}
856
857func (x *Span_Tracestate) ProtoReflect() protoreflect.Message {
858	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[6]
859	if protoimpl.UnsafeEnabled && x != nil {
860		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
861		if ms.LoadMessageInfo() == nil {
862			ms.StoreMessageInfo(mi)
863		}
864		return ms
865	}
866	return mi.MessageOf(x)
867}
868
869// Deprecated: Use Span_Tracestate.ProtoReflect.Descriptor instead.
870func (*Span_Tracestate) Descriptor() ([]byte, []int) {
871	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{0, 0}
872}
873
874func (x *Span_Tracestate) GetEntries() []*Span_Tracestate_Entry {
875	if x != nil {
876		return x.Entries
877	}
878	return nil
879}
880
881// A set of attributes, each with a key and a value.
882type Span_Attributes struct {
883	state         protoimpl.MessageState
884	sizeCache     protoimpl.SizeCache
885	unknownFields protoimpl.UnknownFields
886
887	// The set of attributes. The value can be a string, an integer, a double
888	// or the Boolean values `true` or `false`. Note, global attributes like
889	// server name can be set as tags using resource API. Examples of attributes:
890	//
891	//     "/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"
892	//     "/http/server_latency": 300
893	//     "abc.com/myattribute": true
894	//     "abc.com/score": 10.239
895	AttributeMap map[string]*AttributeValue `protobuf:"bytes,1,rep,name=attribute_map,json=attributeMap,proto3" json:"attribute_map,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
896	// The number of attributes that were discarded. Attributes can be discarded
897	// because their keys are too long or because there are too many attributes.
898	// If this value is 0, then no attributes were dropped.
899	DroppedAttributesCount int32 `protobuf:"varint,2,opt,name=dropped_attributes_count,json=droppedAttributesCount,proto3" json:"dropped_attributes_count,omitempty"`
900}
901
902func (x *Span_Attributes) Reset() {
903	*x = Span_Attributes{}
904	if protoimpl.UnsafeEnabled {
905		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[7]
906		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
907		ms.StoreMessageInfo(mi)
908	}
909}
910
911func (x *Span_Attributes) String() string {
912	return protoimpl.X.MessageStringOf(x)
913}
914
915func (*Span_Attributes) ProtoMessage() {}
916
917func (x *Span_Attributes) ProtoReflect() protoreflect.Message {
918	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[7]
919	if protoimpl.UnsafeEnabled && x != nil {
920		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
921		if ms.LoadMessageInfo() == nil {
922			ms.StoreMessageInfo(mi)
923		}
924		return ms
925	}
926	return mi.MessageOf(x)
927}
928
929// Deprecated: Use Span_Attributes.ProtoReflect.Descriptor instead.
930func (*Span_Attributes) Descriptor() ([]byte, []int) {
931	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{0, 1}
932}
933
934func (x *Span_Attributes) GetAttributeMap() map[string]*AttributeValue {
935	if x != nil {
936		return x.AttributeMap
937	}
938	return nil
939}
940
941func (x *Span_Attributes) GetDroppedAttributesCount() int32 {
942	if x != nil {
943		return x.DroppedAttributesCount
944	}
945	return 0
946}
947
948// A time-stamped annotation or message event in the Span.
949type Span_TimeEvent struct {
950	state         protoimpl.MessageState
951	sizeCache     protoimpl.SizeCache
952	unknownFields protoimpl.UnknownFields
953
954	// The time the event occurred.
955	Time *timestamp.Timestamp `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
956	// A `TimeEvent` can contain either an `Annotation` object or a
957	// `MessageEvent` object, but not both.
958	//
959	// Types that are assignable to Value:
960	//	*Span_TimeEvent_Annotation_
961	//	*Span_TimeEvent_MessageEvent_
962	Value isSpan_TimeEvent_Value `protobuf_oneof:"value"`
963}
964
965func (x *Span_TimeEvent) Reset() {
966	*x = Span_TimeEvent{}
967	if protoimpl.UnsafeEnabled {
968		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[8]
969		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
970		ms.StoreMessageInfo(mi)
971	}
972}
973
974func (x *Span_TimeEvent) String() string {
975	return protoimpl.X.MessageStringOf(x)
976}
977
978func (*Span_TimeEvent) ProtoMessage() {}
979
980func (x *Span_TimeEvent) ProtoReflect() protoreflect.Message {
981	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[8]
982	if protoimpl.UnsafeEnabled && x != nil {
983		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
984		if ms.LoadMessageInfo() == nil {
985			ms.StoreMessageInfo(mi)
986		}
987		return ms
988	}
989	return mi.MessageOf(x)
990}
991
992// Deprecated: Use Span_TimeEvent.ProtoReflect.Descriptor instead.
993func (*Span_TimeEvent) Descriptor() ([]byte, []int) {
994	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{0, 2}
995}
996
997func (x *Span_TimeEvent) GetTime() *timestamp.Timestamp {
998	if x != nil {
999		return x.Time
1000	}
1001	return nil
1002}
1003
1004func (m *Span_TimeEvent) GetValue() isSpan_TimeEvent_Value {
1005	if m != nil {
1006		return m.Value
1007	}
1008	return nil
1009}
1010
1011func (x *Span_TimeEvent) GetAnnotation() *Span_TimeEvent_Annotation {
1012	if x, ok := x.GetValue().(*Span_TimeEvent_Annotation_); ok {
1013		return x.Annotation
1014	}
1015	return nil
1016}
1017
1018func (x *Span_TimeEvent) GetMessageEvent() *Span_TimeEvent_MessageEvent {
1019	if x, ok := x.GetValue().(*Span_TimeEvent_MessageEvent_); ok {
1020		return x.MessageEvent
1021	}
1022	return nil
1023}
1024
1025type isSpan_TimeEvent_Value interface {
1026	isSpan_TimeEvent_Value()
1027}
1028
1029type Span_TimeEvent_Annotation_ struct {
1030	// A text annotation with a set of attributes.
1031	Annotation *Span_TimeEvent_Annotation `protobuf:"bytes,2,opt,name=annotation,proto3,oneof"`
1032}
1033
1034type Span_TimeEvent_MessageEvent_ struct {
1035	// An event describing a message sent/received between Spans.
1036	MessageEvent *Span_TimeEvent_MessageEvent `protobuf:"bytes,3,opt,name=message_event,json=messageEvent,proto3,oneof"`
1037}
1038
1039func (*Span_TimeEvent_Annotation_) isSpan_TimeEvent_Value() {}
1040
1041func (*Span_TimeEvent_MessageEvent_) isSpan_TimeEvent_Value() {}
1042
1043// A collection of `TimeEvent`s. A `TimeEvent` is a time-stamped annotation
1044// on the span, consisting of either user-supplied key-value pairs, or
1045// details of a message sent/received between Spans.
1046type Span_TimeEvents struct {
1047	state         protoimpl.MessageState
1048	sizeCache     protoimpl.SizeCache
1049	unknownFields protoimpl.UnknownFields
1050
1051	// A collection of `TimeEvent`s.
1052	TimeEvent []*Span_TimeEvent `protobuf:"bytes,1,rep,name=time_event,json=timeEvent,proto3" json:"time_event,omitempty"`
1053	// The number of dropped annotations in all the included time events.
1054	// If the value is 0, then no annotations were dropped.
1055	DroppedAnnotationsCount int32 `protobuf:"varint,2,opt,name=dropped_annotations_count,json=droppedAnnotationsCount,proto3" json:"dropped_annotations_count,omitempty"`
1056	// The number of dropped message events in all the included time events.
1057	// If the value is 0, then no message events were dropped.
1058	DroppedMessageEventsCount int32 `protobuf:"varint,3,opt,name=dropped_message_events_count,json=droppedMessageEventsCount,proto3" json:"dropped_message_events_count,omitempty"`
1059}
1060
1061func (x *Span_TimeEvents) Reset() {
1062	*x = Span_TimeEvents{}
1063	if protoimpl.UnsafeEnabled {
1064		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[9]
1065		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1066		ms.StoreMessageInfo(mi)
1067	}
1068}
1069
1070func (x *Span_TimeEvents) String() string {
1071	return protoimpl.X.MessageStringOf(x)
1072}
1073
1074func (*Span_TimeEvents) ProtoMessage() {}
1075
1076func (x *Span_TimeEvents) ProtoReflect() protoreflect.Message {
1077	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[9]
1078	if protoimpl.UnsafeEnabled && x != nil {
1079		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1080		if ms.LoadMessageInfo() == nil {
1081			ms.StoreMessageInfo(mi)
1082		}
1083		return ms
1084	}
1085	return mi.MessageOf(x)
1086}
1087
1088// Deprecated: Use Span_TimeEvents.ProtoReflect.Descriptor instead.
1089func (*Span_TimeEvents) Descriptor() ([]byte, []int) {
1090	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{0, 3}
1091}
1092
1093func (x *Span_TimeEvents) GetTimeEvent() []*Span_TimeEvent {
1094	if x != nil {
1095		return x.TimeEvent
1096	}
1097	return nil
1098}
1099
1100func (x *Span_TimeEvents) GetDroppedAnnotationsCount() int32 {
1101	if x != nil {
1102		return x.DroppedAnnotationsCount
1103	}
1104	return 0
1105}
1106
1107func (x *Span_TimeEvents) GetDroppedMessageEventsCount() int32 {
1108	if x != nil {
1109		return x.DroppedMessageEventsCount
1110	}
1111	return 0
1112}
1113
1114// A pointer from the current span to another span in the same trace or in a
1115// different trace. For example, this can be used in batching operations,
1116// where a single batch handler processes multiple requests from different
1117// traces or when the handler receives a request from a different project.
1118type Span_Link struct {
1119	state         protoimpl.MessageState
1120	sizeCache     protoimpl.SizeCache
1121	unknownFields protoimpl.UnknownFields
1122
1123	// A unique identifier of a trace that this linked span is part of. The ID is a
1124	// 16-byte array.
1125	TraceId []byte `protobuf:"bytes,1,opt,name=trace_id,json=traceId,proto3" json:"trace_id,omitempty"`
1126	// A unique identifier for the linked span. The ID is an 8-byte array.
1127	SpanId []byte `protobuf:"bytes,2,opt,name=span_id,json=spanId,proto3" json:"span_id,omitempty"`
1128	// The relationship of the current span relative to the linked span.
1129	Type Span_Link_Type `protobuf:"varint,3,opt,name=type,proto3,enum=opencensus.proto.trace.v1.Span_Link_Type" json:"type,omitempty"`
1130	// A set of attributes on the link.
1131	Attributes *Span_Attributes `protobuf:"bytes,4,opt,name=attributes,proto3" json:"attributes,omitempty"`
1132	// The Tracestate associated with the link.
1133	Tracestate *Span_Tracestate `protobuf:"bytes,5,opt,name=tracestate,proto3" json:"tracestate,omitempty"`
1134}
1135
1136func (x *Span_Link) Reset() {
1137	*x = Span_Link{}
1138	if protoimpl.UnsafeEnabled {
1139		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[10]
1140		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1141		ms.StoreMessageInfo(mi)
1142	}
1143}
1144
1145func (x *Span_Link) String() string {
1146	return protoimpl.X.MessageStringOf(x)
1147}
1148
1149func (*Span_Link) ProtoMessage() {}
1150
1151func (x *Span_Link) ProtoReflect() protoreflect.Message {
1152	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[10]
1153	if protoimpl.UnsafeEnabled && x != nil {
1154		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1155		if ms.LoadMessageInfo() == nil {
1156			ms.StoreMessageInfo(mi)
1157		}
1158		return ms
1159	}
1160	return mi.MessageOf(x)
1161}
1162
1163// Deprecated: Use Span_Link.ProtoReflect.Descriptor instead.
1164func (*Span_Link) Descriptor() ([]byte, []int) {
1165	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{0, 4}
1166}
1167
1168func (x *Span_Link) GetTraceId() []byte {
1169	if x != nil {
1170		return x.TraceId
1171	}
1172	return nil
1173}
1174
1175func (x *Span_Link) GetSpanId() []byte {
1176	if x != nil {
1177		return x.SpanId
1178	}
1179	return nil
1180}
1181
1182func (x *Span_Link) GetType() Span_Link_Type {
1183	if x != nil {
1184		return x.Type
1185	}
1186	return Span_Link_TYPE_UNSPECIFIED
1187}
1188
1189func (x *Span_Link) GetAttributes() *Span_Attributes {
1190	if x != nil {
1191		return x.Attributes
1192	}
1193	return nil
1194}
1195
1196func (x *Span_Link) GetTracestate() *Span_Tracestate {
1197	if x != nil {
1198		return x.Tracestate
1199	}
1200	return nil
1201}
1202
1203// A collection of links, which are references from this span to a span
1204// in the same or different trace.
1205type Span_Links struct {
1206	state         protoimpl.MessageState
1207	sizeCache     protoimpl.SizeCache
1208	unknownFields protoimpl.UnknownFields
1209
1210	// A collection of links.
1211	Link []*Span_Link `protobuf:"bytes,1,rep,name=link,proto3" json:"link,omitempty"`
1212	// The number of dropped links after the maximum size was enforced. If
1213	// this value is 0, then no links were dropped.
1214	DroppedLinksCount int32 `protobuf:"varint,2,opt,name=dropped_links_count,json=droppedLinksCount,proto3" json:"dropped_links_count,omitempty"`
1215}
1216
1217func (x *Span_Links) Reset() {
1218	*x = Span_Links{}
1219	if protoimpl.UnsafeEnabled {
1220		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[11]
1221		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1222		ms.StoreMessageInfo(mi)
1223	}
1224}
1225
1226func (x *Span_Links) String() string {
1227	return protoimpl.X.MessageStringOf(x)
1228}
1229
1230func (*Span_Links) ProtoMessage() {}
1231
1232func (x *Span_Links) ProtoReflect() protoreflect.Message {
1233	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[11]
1234	if protoimpl.UnsafeEnabled && x != nil {
1235		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1236		if ms.LoadMessageInfo() == nil {
1237			ms.StoreMessageInfo(mi)
1238		}
1239		return ms
1240	}
1241	return mi.MessageOf(x)
1242}
1243
1244// Deprecated: Use Span_Links.ProtoReflect.Descriptor instead.
1245func (*Span_Links) Descriptor() ([]byte, []int) {
1246	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{0, 5}
1247}
1248
1249func (x *Span_Links) GetLink() []*Span_Link {
1250	if x != nil {
1251		return x.Link
1252	}
1253	return nil
1254}
1255
1256func (x *Span_Links) GetDroppedLinksCount() int32 {
1257	if x != nil {
1258		return x.DroppedLinksCount
1259	}
1260	return 0
1261}
1262
1263type Span_Tracestate_Entry struct {
1264	state         protoimpl.MessageState
1265	sizeCache     protoimpl.SizeCache
1266	unknownFields protoimpl.UnknownFields
1267
1268	// The key must begin with a lowercase letter, and can only contain
1269	// lowercase letters 'a'-'z', digits '0'-'9', underscores '_', dashes
1270	// '-', asterisks '*', and forward slashes '/'.
1271	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
1272	// The value is opaque string up to 256 characters printable ASCII
1273	// RFC0020 characters (i.e., the range 0x20 to 0x7E) except ',' and '='.
1274	// Note that this also excludes tabs, newlines, carriage returns, etc.
1275	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
1276}
1277
1278func (x *Span_Tracestate_Entry) Reset() {
1279	*x = Span_Tracestate_Entry{}
1280	if protoimpl.UnsafeEnabled {
1281		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[12]
1282		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1283		ms.StoreMessageInfo(mi)
1284	}
1285}
1286
1287func (x *Span_Tracestate_Entry) String() string {
1288	return protoimpl.X.MessageStringOf(x)
1289}
1290
1291func (*Span_Tracestate_Entry) ProtoMessage() {}
1292
1293func (x *Span_Tracestate_Entry) ProtoReflect() protoreflect.Message {
1294	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[12]
1295	if protoimpl.UnsafeEnabled && x != nil {
1296		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1297		if ms.LoadMessageInfo() == nil {
1298			ms.StoreMessageInfo(mi)
1299		}
1300		return ms
1301	}
1302	return mi.MessageOf(x)
1303}
1304
1305// Deprecated: Use Span_Tracestate_Entry.ProtoReflect.Descriptor instead.
1306func (*Span_Tracestate_Entry) Descriptor() ([]byte, []int) {
1307	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{0, 0, 0}
1308}
1309
1310func (x *Span_Tracestate_Entry) GetKey() string {
1311	if x != nil {
1312		return x.Key
1313	}
1314	return ""
1315}
1316
1317func (x *Span_Tracestate_Entry) GetValue() string {
1318	if x != nil {
1319		return x.Value
1320	}
1321	return ""
1322}
1323
1324// A text annotation with a set of attributes.
1325type Span_TimeEvent_Annotation struct {
1326	state         protoimpl.MessageState
1327	sizeCache     protoimpl.SizeCache
1328	unknownFields protoimpl.UnknownFields
1329
1330	// A user-supplied message describing the event.
1331	Description *TruncatableString `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
1332	// A set of attributes on the annotation.
1333	Attributes *Span_Attributes `protobuf:"bytes,2,opt,name=attributes,proto3" json:"attributes,omitempty"`
1334}
1335
1336func (x *Span_TimeEvent_Annotation) Reset() {
1337	*x = Span_TimeEvent_Annotation{}
1338	if protoimpl.UnsafeEnabled {
1339		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[14]
1340		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1341		ms.StoreMessageInfo(mi)
1342	}
1343}
1344
1345func (x *Span_TimeEvent_Annotation) String() string {
1346	return protoimpl.X.MessageStringOf(x)
1347}
1348
1349func (*Span_TimeEvent_Annotation) ProtoMessage() {}
1350
1351func (x *Span_TimeEvent_Annotation) ProtoReflect() protoreflect.Message {
1352	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[14]
1353	if protoimpl.UnsafeEnabled && x != nil {
1354		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1355		if ms.LoadMessageInfo() == nil {
1356			ms.StoreMessageInfo(mi)
1357		}
1358		return ms
1359	}
1360	return mi.MessageOf(x)
1361}
1362
1363// Deprecated: Use Span_TimeEvent_Annotation.ProtoReflect.Descriptor instead.
1364func (*Span_TimeEvent_Annotation) Descriptor() ([]byte, []int) {
1365	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{0, 2, 0}
1366}
1367
1368func (x *Span_TimeEvent_Annotation) GetDescription() *TruncatableString {
1369	if x != nil {
1370		return x.Description
1371	}
1372	return nil
1373}
1374
1375func (x *Span_TimeEvent_Annotation) GetAttributes() *Span_Attributes {
1376	if x != nil {
1377		return x.Attributes
1378	}
1379	return nil
1380}
1381
1382// An event describing a message sent/received between Spans.
1383type Span_TimeEvent_MessageEvent struct {
1384	state         protoimpl.MessageState
1385	sizeCache     protoimpl.SizeCache
1386	unknownFields protoimpl.UnknownFields
1387
1388	// The type of MessageEvent. Indicates whether the message was sent or
1389	// received.
1390	Type Span_TimeEvent_MessageEvent_Type `protobuf:"varint,1,opt,name=type,proto3,enum=opencensus.proto.trace.v1.Span_TimeEvent_MessageEvent_Type" json:"type,omitempty"`
1391	// An identifier for the MessageEvent's message that can be used to match
1392	// SENT and RECEIVED MessageEvents. For example, this field could
1393	// represent a sequence ID for a streaming RPC. It is recommended to be
1394	// unique within a Span.
1395	Id uint64 `protobuf:"varint,2,opt,name=id,proto3" json:"id,omitempty"`
1396	// The number of uncompressed bytes sent or received.
1397	UncompressedSize uint64 `protobuf:"varint,3,opt,name=uncompressed_size,json=uncompressedSize,proto3" json:"uncompressed_size,omitempty"`
1398	// The number of compressed bytes sent or received. If zero, assumed to
1399	// be the same size as uncompressed.
1400	CompressedSize uint64 `protobuf:"varint,4,opt,name=compressed_size,json=compressedSize,proto3" json:"compressed_size,omitempty"`
1401}
1402
1403func (x *Span_TimeEvent_MessageEvent) Reset() {
1404	*x = Span_TimeEvent_MessageEvent{}
1405	if protoimpl.UnsafeEnabled {
1406		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[15]
1407		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1408		ms.StoreMessageInfo(mi)
1409	}
1410}
1411
1412func (x *Span_TimeEvent_MessageEvent) String() string {
1413	return protoimpl.X.MessageStringOf(x)
1414}
1415
1416func (*Span_TimeEvent_MessageEvent) ProtoMessage() {}
1417
1418func (x *Span_TimeEvent_MessageEvent) ProtoReflect() protoreflect.Message {
1419	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[15]
1420	if protoimpl.UnsafeEnabled && x != nil {
1421		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1422		if ms.LoadMessageInfo() == nil {
1423			ms.StoreMessageInfo(mi)
1424		}
1425		return ms
1426	}
1427	return mi.MessageOf(x)
1428}
1429
1430// Deprecated: Use Span_TimeEvent_MessageEvent.ProtoReflect.Descriptor instead.
1431func (*Span_TimeEvent_MessageEvent) Descriptor() ([]byte, []int) {
1432	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{0, 2, 1}
1433}
1434
1435func (x *Span_TimeEvent_MessageEvent) GetType() Span_TimeEvent_MessageEvent_Type {
1436	if x != nil {
1437		return x.Type
1438	}
1439	return Span_TimeEvent_MessageEvent_TYPE_UNSPECIFIED
1440}
1441
1442func (x *Span_TimeEvent_MessageEvent) GetId() uint64 {
1443	if x != nil {
1444		return x.Id
1445	}
1446	return 0
1447}
1448
1449func (x *Span_TimeEvent_MessageEvent) GetUncompressedSize() uint64 {
1450	if x != nil {
1451		return x.UncompressedSize
1452	}
1453	return 0
1454}
1455
1456func (x *Span_TimeEvent_MessageEvent) GetCompressedSize() uint64 {
1457	if x != nil {
1458		return x.CompressedSize
1459	}
1460	return 0
1461}
1462
1463// A single stack frame in a stack trace.
1464type StackTrace_StackFrame struct {
1465	state         protoimpl.MessageState
1466	sizeCache     protoimpl.SizeCache
1467	unknownFields protoimpl.UnknownFields
1468
1469	// The fully-qualified name that uniquely identifies the function or
1470	// method that is active in this frame.
1471	FunctionName *TruncatableString `protobuf:"bytes,1,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"`
1472	// An un-mangled function name, if `function_name` is
1473	// [mangled](http://www.avabodh.com/cxxin/namemangling.html). The name can
1474	// be fully qualified.
1475	OriginalFunctionName *TruncatableString `protobuf:"bytes,2,opt,name=original_function_name,json=originalFunctionName,proto3" json:"original_function_name,omitempty"`
1476	// The name of the source file where the function call appears.
1477	FileName *TruncatableString `protobuf:"bytes,3,opt,name=file_name,json=fileName,proto3" json:"file_name,omitempty"`
1478	// The line number in `file_name` where the function call appears.
1479	LineNumber int64 `protobuf:"varint,4,opt,name=line_number,json=lineNumber,proto3" json:"line_number,omitempty"`
1480	// The column number where the function call appears, if available.
1481	// This is important in JavaScript because of its anonymous functions.
1482	ColumnNumber int64 `protobuf:"varint,5,opt,name=column_number,json=columnNumber,proto3" json:"column_number,omitempty"`
1483	// The binary module from where the code was loaded.
1484	LoadModule *Module `protobuf:"bytes,6,opt,name=load_module,json=loadModule,proto3" json:"load_module,omitempty"`
1485	// The version of the deployed source code.
1486	SourceVersion *TruncatableString `protobuf:"bytes,7,opt,name=source_version,json=sourceVersion,proto3" json:"source_version,omitempty"`
1487}
1488
1489func (x *StackTrace_StackFrame) Reset() {
1490	*x = StackTrace_StackFrame{}
1491	if protoimpl.UnsafeEnabled {
1492		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[16]
1493		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1494		ms.StoreMessageInfo(mi)
1495	}
1496}
1497
1498func (x *StackTrace_StackFrame) String() string {
1499	return protoimpl.X.MessageStringOf(x)
1500}
1501
1502func (*StackTrace_StackFrame) ProtoMessage() {}
1503
1504func (x *StackTrace_StackFrame) ProtoReflect() protoreflect.Message {
1505	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[16]
1506	if protoimpl.UnsafeEnabled && x != nil {
1507		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1508		if ms.LoadMessageInfo() == nil {
1509			ms.StoreMessageInfo(mi)
1510		}
1511		return ms
1512	}
1513	return mi.MessageOf(x)
1514}
1515
1516// Deprecated: Use StackTrace_StackFrame.ProtoReflect.Descriptor instead.
1517func (*StackTrace_StackFrame) Descriptor() ([]byte, []int) {
1518	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{3, 0}
1519}
1520
1521func (x *StackTrace_StackFrame) GetFunctionName() *TruncatableString {
1522	if x != nil {
1523		return x.FunctionName
1524	}
1525	return nil
1526}
1527
1528func (x *StackTrace_StackFrame) GetOriginalFunctionName() *TruncatableString {
1529	if x != nil {
1530		return x.OriginalFunctionName
1531	}
1532	return nil
1533}
1534
1535func (x *StackTrace_StackFrame) GetFileName() *TruncatableString {
1536	if x != nil {
1537		return x.FileName
1538	}
1539	return nil
1540}
1541
1542func (x *StackTrace_StackFrame) GetLineNumber() int64 {
1543	if x != nil {
1544		return x.LineNumber
1545	}
1546	return 0
1547}
1548
1549func (x *StackTrace_StackFrame) GetColumnNumber() int64 {
1550	if x != nil {
1551		return x.ColumnNumber
1552	}
1553	return 0
1554}
1555
1556func (x *StackTrace_StackFrame) GetLoadModule() *Module {
1557	if x != nil {
1558		return x.LoadModule
1559	}
1560	return nil
1561}
1562
1563func (x *StackTrace_StackFrame) GetSourceVersion() *TruncatableString {
1564	if x != nil {
1565		return x.SourceVersion
1566	}
1567	return nil
1568}
1569
1570// A collection of stack frames, which can be truncated.
1571type StackTrace_StackFrames struct {
1572	state         protoimpl.MessageState
1573	sizeCache     protoimpl.SizeCache
1574	unknownFields protoimpl.UnknownFields
1575
1576	// Stack frames in this call stack.
1577	Frame []*StackTrace_StackFrame `protobuf:"bytes,1,rep,name=frame,proto3" json:"frame,omitempty"`
1578	// The number of stack frames that were dropped because there
1579	// were too many stack frames.
1580	// If this value is 0, then no stack frames were dropped.
1581	DroppedFramesCount int32 `protobuf:"varint,2,opt,name=dropped_frames_count,json=droppedFramesCount,proto3" json:"dropped_frames_count,omitempty"`
1582}
1583
1584func (x *StackTrace_StackFrames) Reset() {
1585	*x = StackTrace_StackFrames{}
1586	if protoimpl.UnsafeEnabled {
1587		mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[17]
1588		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1589		ms.StoreMessageInfo(mi)
1590	}
1591}
1592
1593func (x *StackTrace_StackFrames) String() string {
1594	return protoimpl.X.MessageStringOf(x)
1595}
1596
1597func (*StackTrace_StackFrames) ProtoMessage() {}
1598
1599func (x *StackTrace_StackFrames) ProtoReflect() protoreflect.Message {
1600	mi := &file_opencensus_proto_trace_v1_trace_proto_msgTypes[17]
1601	if protoimpl.UnsafeEnabled && x != nil {
1602		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1603		if ms.LoadMessageInfo() == nil {
1604			ms.StoreMessageInfo(mi)
1605		}
1606		return ms
1607	}
1608	return mi.MessageOf(x)
1609}
1610
1611// Deprecated: Use StackTrace_StackFrames.ProtoReflect.Descriptor instead.
1612func (*StackTrace_StackFrames) Descriptor() ([]byte, []int) {
1613	return file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP(), []int{3, 1}
1614}
1615
1616func (x *StackTrace_StackFrames) GetFrame() []*StackTrace_StackFrame {
1617	if x != nil {
1618		return x.Frame
1619	}
1620	return nil
1621}
1622
1623func (x *StackTrace_StackFrames) GetDroppedFramesCount() int32 {
1624	if x != nil {
1625		return x.DroppedFramesCount
1626	}
1627	return 0
1628}
1629
1630var File_opencensus_proto_trace_v1_trace_proto protoreflect.FileDescriptor
1631
1632var file_opencensus_proto_trace_v1_trace_proto_rawDesc = []byte{
1633	0x0a, 0x25, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2f, 0x70, 0x72, 0x6f,
1634	0x74, 0x6f, 0x2f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x72, 0x61, 0x63,
1635	0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e,
1636	0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e,
1637	0x76, 0x31, 0x1a, 0x2b, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2f, 0x70,
1638	0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2f, 0x76, 0x31,
1639	0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a,
1640	0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
1641	0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1642	0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
1643	0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1644	0x22, 0x91, 0x16, 0x0a, 0x04, 0x53, 0x70, 0x61, 0x6e, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72, 0x61,
1645	0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x72, 0x61,
1646	0x63, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18,
1647	0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x4a, 0x0a,
1648	0x0a, 0x74, 0x72, 0x61, 0x63, 0x65, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28,
1649	0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70,
1650	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70,
1651	0x61, 0x6e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x74,
1652	0x72, 0x61, 0x63, 0x65, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x61, 0x72,
1653	0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
1654	0x0c, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12,
1655	0x40, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
1656	0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1657	0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61,
1658	0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x04, 0x6e, 0x61, 0x6d,
1659	0x65, 0x12, 0x3c, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0e, 0x32,
1660	0x28, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
1661	0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e,
1662	0x2e, 0x53, 0x70, 0x61, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12,
1663	0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20,
1664	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
1665	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52,
1666	0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e,
1667	0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
1668	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
1669	0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d,
1670	0x65, 0x12, 0x4a, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18,
1671	0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73,
1672	0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76,
1673	0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
1674	0x73, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x46, 0x0a,
1675	0x0b, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74, 0x72, 0x61, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01,
1676	0x28, 0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e,
1677	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53,
1678	0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x63, 0x6b,
1679	0x54, 0x72, 0x61, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x65, 0x76,
1680	0x65, 0x6e, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65,
1681	0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72,
1682	0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x54, 0x69, 0x6d, 0x65,
1683	0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e,
1684	0x74, 0x73, 0x12, 0x3b, 0x0a, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28,
1685	0x0b, 0x32, 0x25, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70,
1686	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70,
1687	0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x52, 0x05, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x12,
1688	0x39, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32,
1689	0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f,
1690	0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74,
1691	0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x42, 0x0a, 0x08, 0x72, 0x65,
1692	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x6f,
1693	0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
1694	0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f,
1695	0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x58,
1696	0x0a, 0x1b, 0x73, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x61,
1697	0x73, 0x5f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x18, 0x0c, 0x20,
1698	0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
1699	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52,
1700	0x17, 0x73, 0x61, 0x6d, 0x65, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x41, 0x73, 0x50, 0x61,
1701	0x72, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x61, 0x6e, 0x12, 0x46, 0x0a, 0x10, 0x63, 0x68, 0x69, 0x6c,
1702	0x64, 0x5f, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0d, 0x20, 0x01,
1703	0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1704	0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65,
1705	0x52, 0x0e, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x53, 0x70, 0x61, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74,
1706	0x1a, 0x89, 0x01, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12,
1707	0x4a, 0x0a, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
1708	0x32, 0x30, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72,
1709	0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61,
1710	0x6e, 0x2e, 0x54, 0x72, 0x61, 0x63, 0x65, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x45, 0x6e, 0x74,
1711	0x72, 0x79, 0x52, 0x07, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x1a, 0x2f, 0x0a, 0x05, 0x45,
1712	0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
1713	0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
1714	0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x95, 0x02, 0x0a,
1715	0x0a, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x0d, 0x61,
1716	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x70, 0x18, 0x01, 0x20, 0x03,
1717	0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e,
1718	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53,
1719	0x70, 0x61, 0x6e, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x41,
1720	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79,
1721	0x52, 0x0c, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x12, 0x38,
1722	0x0a, 0x18, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
1723	0x75, 0x74, 0x65, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
1724	0x52, 0x16, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75,
1725	0x74, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x6a, 0x0a, 0x11, 0x41, 0x74, 0x74, 0x72,
1726	0x69, 0x62, 0x75, 0x74, 0x65, 0x4d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a,
1727	0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12,
1728	0x3f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
1729	0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1730	0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69,
1731	0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
1732	0x3a, 0x02, 0x38, 0x01, 0x1a, 0xa4, 0x05, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x76, 0x65,
1733	0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
1734	0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
1735	0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x74, 0x69,
1736	0x6d, 0x65, 0x12, 0x56, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
1737	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e,
1738	0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e,
1739	0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e,
1740	0x74, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a,
1741	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5d, 0x0a, 0x0d, 0x6d, 0x65,
1742	0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
1743	0x0b, 0x32, 0x36, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70,
1744	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70,
1745	0x61, 0x6e, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x73,
1746	0x73, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x65, 0x73,
1747	0x73, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x1a, 0xa8, 0x01, 0x0a, 0x0a, 0x41, 0x6e,
1748	0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63,
1749	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
1750	0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1751	0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61,
1752	0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0b, 0x64, 0x65, 0x73,
1753	0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72,
1754	0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6f,
1755	0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
1756	0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x41, 0x74,
1757	0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
1758	0x75, 0x74, 0x65, 0x73, 0x1a, 0xfb, 0x01, 0x0a, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
1759	0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20,
1760	0x01, 0x28, 0x0e, 0x32, 0x3b, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73,
1761	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e,
1762	0x53, 0x70, 0x61, 0x6e, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x4d,
1763	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x2e, 0x54, 0x79, 0x70, 0x65,
1764	0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
1765	0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70,
1766	0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
1767	0x04, 0x52, 0x10, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53,
1768	0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65,
1769	0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x63, 0x6f,
1770	0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x34, 0x0a, 0x04,
1771	0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53,
1772	0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x45,
1773	0x4e, 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x43, 0x45, 0x49, 0x56, 0x45, 0x44,
1774	0x10, 0x02, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0xd3, 0x01, 0x0a, 0x0a,
1775	0x54, 0x69, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x48, 0x0a, 0x0a, 0x74, 0x69,
1776	0x6d, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29,
1777	0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
1778	0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x2e,
1779	0x54, 0x69, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x45,
1780	0x76, 0x65, 0x6e, 0x74, 0x12, 0x3a, 0x0a, 0x19, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f,
1781	0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e,
1782	0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x17, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64,
1783	0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74,
1784	0x12, 0x3f, 0x0a, 0x1c, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73,
1785	0x61, 0x67, 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74,
1786	0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x19, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x4d,
1787	0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x43, 0x6f, 0x75, 0x6e,
1788	0x74, 0x1a, 0xde, 0x02, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x6b, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x72,
1789	0x61, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x74, 0x72,
1790	0x61, 0x63, 0x65, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x70, 0x61, 0x6e, 0x5f, 0x69, 0x64,
1791	0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x70, 0x61, 0x6e, 0x49, 0x64, 0x12, 0x3d,
1792	0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x29, 0x2e, 0x6f,
1793	0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e,
1794	0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x4c, 0x69,
1795	0x6e, 0x6b, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4a, 0x0a,
1796	0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28,
1797	0x0b, 0x32, 0x2a, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70,
1798	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70,
1799	0x61, 0x6e, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x0a, 0x61,
1800	0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0a, 0x74, 0x72, 0x61,
1801	0x63, 0x65, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e,
1802	0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1803	0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x54,
1804	0x72, 0x61, 0x63, 0x65, 0x73, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x74, 0x72, 0x61, 0x63, 0x65,
1805	0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x4b, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a,
1806	0x10, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
1807	0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x43, 0x48, 0x49, 0x4c, 0x44, 0x5f, 0x4c, 0x49, 0x4e,
1808	0x4b, 0x45, 0x44, 0x5f, 0x53, 0x50, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x50, 0x41,
1809	0x52, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x4e, 0x4b, 0x45, 0x44, 0x5f, 0x53, 0x50, 0x41, 0x4e,
1810	0x10, 0x02, 0x1a, 0x71, 0x0a, 0x05, 0x4c, 0x69, 0x6e, 0x6b, 0x73, 0x12, 0x38, 0x0a, 0x04, 0x6c,
1811	0x69, 0x6e, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
1812	0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61,
1813	0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x70, 0x61, 0x6e, 0x2e, 0x4c, 0x69, 0x6e, 0x6b, 0x52,
1814	0x04, 0x6c, 0x69, 0x6e, 0x6b, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64,
1815	0x5f, 0x6c, 0x69, 0x6e, 0x6b, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
1816	0x28, 0x05, 0x52, 0x11, 0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x73,
1817	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x3d, 0x0a, 0x08, 0x53, 0x70, 0x61, 0x6e, 0x4b, 0x69, 0x6e,
1818	0x64, 0x12, 0x19, 0x0a, 0x15, 0x53, 0x50, 0x41, 0x4e, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55,
1819	0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06,
1820	0x53, 0x45, 0x52, 0x56, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x4c, 0x49, 0x45,
1821	0x4e, 0x54, 0x10, 0x02, 0x22, 0x36, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12,
1822	0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f,
1823	0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
1824	0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xd1, 0x01, 0x0a,
1825	0x0e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12,
1826	0x51, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
1827	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73,
1828	0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76,
1829	0x31, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x72,
1830	0x69, 0x6e, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c,
1831	0x75, 0x65, 0x12, 0x1d, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
1832	0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75,
1833	0x65, 0x12, 0x1f, 0x0a, 0x0a, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
1834	0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x62, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c,
1835	0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c,
1836	0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x6f, 0x75, 0x62,
1837	0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
1838	0x22, 0x8b, 0x06, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x12,
1839	0x54, 0x0a, 0x0c, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18,
1840	0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73,
1841	0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76,
1842	0x31, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61,
1843	0x63, 0x6b, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x0b, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x46,
1844	0x72, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x74,
1845	0x72, 0x61, 0x63, 0x65, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
1846	0x28, 0x04, 0x52, 0x10, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x48, 0x61,
1847	0x73, 0x68, 0x49, 0x64, 0x1a, 0xed, 0x03, 0x0a, 0x0a, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x46, 0x72,
1848	0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
1849	0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65,
1850	0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72,
1851	0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x61, 0x62,
1852	0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0c, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69,
1853	0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x16, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e,
1854	0x61, 0x6c, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
1855	0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e,
1856	0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e,
1857	0x76, 0x31, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74,
1858	0x72, 0x69, 0x6e, 0x67, 0x52, 0x14, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x46, 0x75,
1859	0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x66, 0x69,
1860	0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
1861	0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
1862	0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61,
1863	0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x08, 0x66, 0x69, 0x6c,
1864	0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x75,
1865	0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6c, 0x69, 0x6e, 0x65,
1866	0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e,
1867	0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0c, 0x63,
1868	0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x42, 0x0a, 0x0b, 0x6c,
1869	0x6f, 0x61, 0x64, 0x5f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
1870	0x32, 0x21, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72,
1871	0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x6f, 0x64,
1872	0x75, 0x6c, 0x65, 0x52, 0x0a, 0x6c, 0x6f, 0x61, 0x64, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12,
1873	0x53, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
1874	0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65,
1875	0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65,
1876	0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53,
1877	0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72,
1878	0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x87, 0x01, 0x0a, 0x0b, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x46, 0x72,
1879	0x61, 0x6d, 0x65, 0x73, 0x12, 0x46, 0x0a, 0x05, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
1880	0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73,
1881	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e,
1882	0x53, 0x74, 0x61, 0x63, 0x6b, 0x54, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x63, 0x6b,
1883	0x46, 0x72, 0x61, 0x6d, 0x65, 0x52, 0x05, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14,
1884	0x64, 0x72, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x5f, 0x63,
1885	0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x12, 0x64, 0x72, 0x6f, 0x70,
1886	0x70, 0x65, 0x64, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x97,
1887	0x01, 0x0a, 0x06, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x44, 0x0a, 0x06, 0x6d, 0x6f, 0x64,
1888	0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e,
1889	0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61,
1890	0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x61, 0x62, 0x6c,
1891	0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12,
1892	0x47, 0x0a, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28,
1893	0x0b, 0x32, 0x2c, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70,
1894	0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72, 0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72,
1895	0x75, 0x6e, 0x63, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52,
1896	0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x22, 0x5b, 0x0a, 0x11, 0x54, 0x72, 0x75, 0x6e,
1897	0x63, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x14, 0x0a,
1898	0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
1899	0x6c, 0x75, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64,
1900	0x5f, 0x62, 0x79, 0x74, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
1901	0x05, 0x52, 0x12, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65,
1902	0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x8c, 0x01, 0x0a, 0x1c, 0x69, 0x6f, 0x2e, 0x6f, 0x70, 0x65,
1903	0x6e, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x72,
1904	0x61, 0x63, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x54, 0x72, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f,
1905	0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
1906	0x2f, 0x63, 0x65, 0x6e, 0x73, 0x75, 0x73, 0x2d, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x6d, 0x65,
1907	0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x63, 0x65, 0x6e, 0x73,
1908	0x75, 0x73, 0x2d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2d, 0x67, 0x6f, 0x2f,
1909	0x74, 0x72, 0x61, 0x63, 0x65, 0x2f, 0x76, 0x31, 0xea, 0x02, 0x19, 0x4f, 0x70, 0x65, 0x6e, 0x43,
1910	0x65, 0x6e, 0x73, 0x75, 0x73, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x72, 0x61, 0x63,
1911	0x65, 0x2e, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
1912}
1913
1914var (
1915	file_opencensus_proto_trace_v1_trace_proto_rawDescOnce sync.Once
1916	file_opencensus_proto_trace_v1_trace_proto_rawDescData = file_opencensus_proto_trace_v1_trace_proto_rawDesc
1917)
1918
1919func file_opencensus_proto_trace_v1_trace_proto_rawDescGZIP() []byte {
1920	file_opencensus_proto_trace_v1_trace_proto_rawDescOnce.Do(func() {
1921		file_opencensus_proto_trace_v1_trace_proto_rawDescData = protoimpl.X.CompressGZIP(file_opencensus_proto_trace_v1_trace_proto_rawDescData)
1922	})
1923	return file_opencensus_proto_trace_v1_trace_proto_rawDescData
1924}
1925
1926var file_opencensus_proto_trace_v1_trace_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
1927var file_opencensus_proto_trace_v1_trace_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
1928var file_opencensus_proto_trace_v1_trace_proto_goTypes = []interface{}{
1929	(Span_SpanKind)(0),                    // 0: opencensus.proto.trace.v1.Span.SpanKind
1930	(Span_TimeEvent_MessageEvent_Type)(0), // 1: opencensus.proto.trace.v1.Span.TimeEvent.MessageEvent.Type
1931	(Span_Link_Type)(0),                   // 2: opencensus.proto.trace.v1.Span.Link.Type
1932	(*Span)(nil),                          // 3: opencensus.proto.trace.v1.Span
1933	(*Status)(nil),                        // 4: opencensus.proto.trace.v1.Status
1934	(*AttributeValue)(nil),                // 5: opencensus.proto.trace.v1.AttributeValue
1935	(*StackTrace)(nil),                    // 6: opencensus.proto.trace.v1.StackTrace
1936	(*Module)(nil),                        // 7: opencensus.proto.trace.v1.Module
1937	(*TruncatableString)(nil),             // 8: opencensus.proto.trace.v1.TruncatableString
1938	(*Span_Tracestate)(nil),               // 9: opencensus.proto.trace.v1.Span.Tracestate
1939	(*Span_Attributes)(nil),               // 10: opencensus.proto.trace.v1.Span.Attributes
1940	(*Span_TimeEvent)(nil),                // 11: opencensus.proto.trace.v1.Span.TimeEvent
1941	(*Span_TimeEvents)(nil),               // 12: opencensus.proto.trace.v1.Span.TimeEvents
1942	(*Span_Link)(nil),                     // 13: opencensus.proto.trace.v1.Span.Link
1943	(*Span_Links)(nil),                    // 14: opencensus.proto.trace.v1.Span.Links
1944	(*Span_Tracestate_Entry)(nil),         // 15: opencensus.proto.trace.v1.Span.Tracestate.Entry
1945	nil,                                   // 16: opencensus.proto.trace.v1.Span.Attributes.AttributeMapEntry
1946	(*Span_TimeEvent_Annotation)(nil),     // 17: opencensus.proto.trace.v1.Span.TimeEvent.Annotation
1947	(*Span_TimeEvent_MessageEvent)(nil),   // 18: opencensus.proto.trace.v1.Span.TimeEvent.MessageEvent
1948	(*StackTrace_StackFrame)(nil),         // 19: opencensus.proto.trace.v1.StackTrace.StackFrame
1949	(*StackTrace_StackFrames)(nil),        // 20: opencensus.proto.trace.v1.StackTrace.StackFrames
1950	(*timestamp.Timestamp)(nil),           // 21: google.protobuf.Timestamp
1951	(*v1.Resource)(nil),                   // 22: opencensus.proto.resource.v1.Resource
1952	(*wrappers.BoolValue)(nil),            // 23: google.protobuf.BoolValue
1953	(*wrappers.UInt32Value)(nil),          // 24: google.protobuf.UInt32Value
1954}
1955var file_opencensus_proto_trace_v1_trace_proto_depIdxs = []int32{
1956	9,  // 0: opencensus.proto.trace.v1.Span.tracestate:type_name -> opencensus.proto.trace.v1.Span.Tracestate
1957	8,  // 1: opencensus.proto.trace.v1.Span.name:type_name -> opencensus.proto.trace.v1.TruncatableString
1958	0,  // 2: opencensus.proto.trace.v1.Span.kind:type_name -> opencensus.proto.trace.v1.Span.SpanKind
1959	21, // 3: opencensus.proto.trace.v1.Span.start_time:type_name -> google.protobuf.Timestamp
1960	21, // 4: opencensus.proto.trace.v1.Span.end_time:type_name -> google.protobuf.Timestamp
1961	10, // 5: opencensus.proto.trace.v1.Span.attributes:type_name -> opencensus.proto.trace.v1.Span.Attributes
1962	6,  // 6: opencensus.proto.trace.v1.Span.stack_trace:type_name -> opencensus.proto.trace.v1.StackTrace
1963	12, // 7: opencensus.proto.trace.v1.Span.time_events:type_name -> opencensus.proto.trace.v1.Span.TimeEvents
1964	14, // 8: opencensus.proto.trace.v1.Span.links:type_name -> opencensus.proto.trace.v1.Span.Links
1965	4,  // 9: opencensus.proto.trace.v1.Span.status:type_name -> opencensus.proto.trace.v1.Status
1966	22, // 10: opencensus.proto.trace.v1.Span.resource:type_name -> opencensus.proto.resource.v1.Resource
1967	23, // 11: opencensus.proto.trace.v1.Span.same_process_as_parent_span:type_name -> google.protobuf.BoolValue
1968	24, // 12: opencensus.proto.trace.v1.Span.child_span_count:type_name -> google.protobuf.UInt32Value
1969	8,  // 13: opencensus.proto.trace.v1.AttributeValue.string_value:type_name -> opencensus.proto.trace.v1.TruncatableString
1970	20, // 14: opencensus.proto.trace.v1.StackTrace.stack_frames:type_name -> opencensus.proto.trace.v1.StackTrace.StackFrames
1971	8,  // 15: opencensus.proto.trace.v1.Module.module:type_name -> opencensus.proto.trace.v1.TruncatableString
1972	8,  // 16: opencensus.proto.trace.v1.Module.build_id:type_name -> opencensus.proto.trace.v1.TruncatableString
1973	15, // 17: opencensus.proto.trace.v1.Span.Tracestate.entries:type_name -> opencensus.proto.trace.v1.Span.Tracestate.Entry
1974	16, // 18: opencensus.proto.trace.v1.Span.Attributes.attribute_map:type_name -> opencensus.proto.trace.v1.Span.Attributes.AttributeMapEntry
1975	21, // 19: opencensus.proto.trace.v1.Span.TimeEvent.time:type_name -> google.protobuf.Timestamp
1976	17, // 20: opencensus.proto.trace.v1.Span.TimeEvent.annotation:type_name -> opencensus.proto.trace.v1.Span.TimeEvent.Annotation
1977	18, // 21: opencensus.proto.trace.v1.Span.TimeEvent.message_event:type_name -> opencensus.proto.trace.v1.Span.TimeEvent.MessageEvent
1978	11, // 22: opencensus.proto.trace.v1.Span.TimeEvents.time_event:type_name -> opencensus.proto.trace.v1.Span.TimeEvent
1979	2,  // 23: opencensus.proto.trace.v1.Span.Link.type:type_name -> opencensus.proto.trace.v1.Span.Link.Type
1980	10, // 24: opencensus.proto.trace.v1.Span.Link.attributes:type_name -> opencensus.proto.trace.v1.Span.Attributes
1981	9,  // 25: opencensus.proto.trace.v1.Span.Link.tracestate:type_name -> opencensus.proto.trace.v1.Span.Tracestate
1982	13, // 26: opencensus.proto.trace.v1.Span.Links.link:type_name -> opencensus.proto.trace.v1.Span.Link
1983	5,  // 27: opencensus.proto.trace.v1.Span.Attributes.AttributeMapEntry.value:type_name -> opencensus.proto.trace.v1.AttributeValue
1984	8,  // 28: opencensus.proto.trace.v1.Span.TimeEvent.Annotation.description:type_name -> opencensus.proto.trace.v1.TruncatableString
1985	10, // 29: opencensus.proto.trace.v1.Span.TimeEvent.Annotation.attributes:type_name -> opencensus.proto.trace.v1.Span.Attributes
1986	1,  // 30: opencensus.proto.trace.v1.Span.TimeEvent.MessageEvent.type:type_name -> opencensus.proto.trace.v1.Span.TimeEvent.MessageEvent.Type
1987	8,  // 31: opencensus.proto.trace.v1.StackTrace.StackFrame.function_name:type_name -> opencensus.proto.trace.v1.TruncatableString
1988	8,  // 32: opencensus.proto.trace.v1.StackTrace.StackFrame.original_function_name:type_name -> opencensus.proto.trace.v1.TruncatableString
1989	8,  // 33: opencensus.proto.trace.v1.StackTrace.StackFrame.file_name:type_name -> opencensus.proto.trace.v1.TruncatableString
1990	7,  // 34: opencensus.proto.trace.v1.StackTrace.StackFrame.load_module:type_name -> opencensus.proto.trace.v1.Module
1991	8,  // 35: opencensus.proto.trace.v1.StackTrace.StackFrame.source_version:type_name -> opencensus.proto.trace.v1.TruncatableString
1992	19, // 36: opencensus.proto.trace.v1.StackTrace.StackFrames.frame:type_name -> opencensus.proto.trace.v1.StackTrace.StackFrame
1993	37, // [37:37] is the sub-list for method output_type
1994	37, // [37:37] is the sub-list for method input_type
1995	37, // [37:37] is the sub-list for extension type_name
1996	37, // [37:37] is the sub-list for extension extendee
1997	0,  // [0:37] is the sub-list for field type_name
1998}
1999
2000func init() { file_opencensus_proto_trace_v1_trace_proto_init() }
2001func file_opencensus_proto_trace_v1_trace_proto_init() {
2002	if File_opencensus_proto_trace_v1_trace_proto != nil {
2003		return
2004	}
2005	if !protoimpl.UnsafeEnabled {
2006		file_opencensus_proto_trace_v1_trace_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2007			switch v := v.(*Span); i {
2008			case 0:
2009				return &v.state
2010			case 1:
2011				return &v.sizeCache
2012			case 2:
2013				return &v.unknownFields
2014			default:
2015				return nil
2016			}
2017		}
2018		file_opencensus_proto_trace_v1_trace_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2019			switch v := v.(*Status); i {
2020			case 0:
2021				return &v.state
2022			case 1:
2023				return &v.sizeCache
2024			case 2:
2025				return &v.unknownFields
2026			default:
2027				return nil
2028			}
2029		}
2030		file_opencensus_proto_trace_v1_trace_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2031			switch v := v.(*AttributeValue); i {
2032			case 0:
2033				return &v.state
2034			case 1:
2035				return &v.sizeCache
2036			case 2:
2037				return &v.unknownFields
2038			default:
2039				return nil
2040			}
2041		}
2042		file_opencensus_proto_trace_v1_trace_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2043			switch v := v.(*StackTrace); i {
2044			case 0:
2045				return &v.state
2046			case 1:
2047				return &v.sizeCache
2048			case 2:
2049				return &v.unknownFields
2050			default:
2051				return nil
2052			}
2053		}
2054		file_opencensus_proto_trace_v1_trace_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2055			switch v := v.(*Module); i {
2056			case 0:
2057				return &v.state
2058			case 1:
2059				return &v.sizeCache
2060			case 2:
2061				return &v.unknownFields
2062			default:
2063				return nil
2064			}
2065		}
2066		file_opencensus_proto_trace_v1_trace_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2067			switch v := v.(*TruncatableString); i {
2068			case 0:
2069				return &v.state
2070			case 1:
2071				return &v.sizeCache
2072			case 2:
2073				return &v.unknownFields
2074			default:
2075				return nil
2076			}
2077		}
2078		file_opencensus_proto_trace_v1_trace_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2079			switch v := v.(*Span_Tracestate); i {
2080			case 0:
2081				return &v.state
2082			case 1:
2083				return &v.sizeCache
2084			case 2:
2085				return &v.unknownFields
2086			default:
2087				return nil
2088			}
2089		}
2090		file_opencensus_proto_trace_v1_trace_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2091			switch v := v.(*Span_Attributes); i {
2092			case 0:
2093				return &v.state
2094			case 1:
2095				return &v.sizeCache
2096			case 2:
2097				return &v.unknownFields
2098			default:
2099				return nil
2100			}
2101		}
2102		file_opencensus_proto_trace_v1_trace_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2103			switch v := v.(*Span_TimeEvent); i {
2104			case 0:
2105				return &v.state
2106			case 1:
2107				return &v.sizeCache
2108			case 2:
2109				return &v.unknownFields
2110			default:
2111				return nil
2112			}
2113		}
2114		file_opencensus_proto_trace_v1_trace_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2115			switch v := v.(*Span_TimeEvents); i {
2116			case 0:
2117				return &v.state
2118			case 1:
2119				return &v.sizeCache
2120			case 2:
2121				return &v.unknownFields
2122			default:
2123				return nil
2124			}
2125		}
2126		file_opencensus_proto_trace_v1_trace_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2127			switch v := v.(*Span_Link); i {
2128			case 0:
2129				return &v.state
2130			case 1:
2131				return &v.sizeCache
2132			case 2:
2133				return &v.unknownFields
2134			default:
2135				return nil
2136			}
2137		}
2138		file_opencensus_proto_trace_v1_trace_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2139			switch v := v.(*Span_Links); i {
2140			case 0:
2141				return &v.state
2142			case 1:
2143				return &v.sizeCache
2144			case 2:
2145				return &v.unknownFields
2146			default:
2147				return nil
2148			}
2149		}
2150		file_opencensus_proto_trace_v1_trace_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2151			switch v := v.(*Span_Tracestate_Entry); i {
2152			case 0:
2153				return &v.state
2154			case 1:
2155				return &v.sizeCache
2156			case 2:
2157				return &v.unknownFields
2158			default:
2159				return nil
2160			}
2161		}
2162		file_opencensus_proto_trace_v1_trace_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2163			switch v := v.(*Span_TimeEvent_Annotation); i {
2164			case 0:
2165				return &v.state
2166			case 1:
2167				return &v.sizeCache
2168			case 2:
2169				return &v.unknownFields
2170			default:
2171				return nil
2172			}
2173		}
2174		file_opencensus_proto_trace_v1_trace_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2175			switch v := v.(*Span_TimeEvent_MessageEvent); i {
2176			case 0:
2177				return &v.state
2178			case 1:
2179				return &v.sizeCache
2180			case 2:
2181				return &v.unknownFields
2182			default:
2183				return nil
2184			}
2185		}
2186		file_opencensus_proto_trace_v1_trace_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2187			switch v := v.(*StackTrace_StackFrame); i {
2188			case 0:
2189				return &v.state
2190			case 1:
2191				return &v.sizeCache
2192			case 2:
2193				return &v.unknownFields
2194			default:
2195				return nil
2196			}
2197		}
2198		file_opencensus_proto_trace_v1_trace_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
2199			switch v := v.(*StackTrace_StackFrames); i {
2200			case 0:
2201				return &v.state
2202			case 1:
2203				return &v.sizeCache
2204			case 2:
2205				return &v.unknownFields
2206			default:
2207				return nil
2208			}
2209		}
2210	}
2211	file_opencensus_proto_trace_v1_trace_proto_msgTypes[2].OneofWrappers = []interface{}{
2212		(*AttributeValue_StringValue)(nil),
2213		(*AttributeValue_IntValue)(nil),
2214		(*AttributeValue_BoolValue)(nil),
2215		(*AttributeValue_DoubleValue)(nil),
2216	}
2217	file_opencensus_proto_trace_v1_trace_proto_msgTypes[8].OneofWrappers = []interface{}{
2218		(*Span_TimeEvent_Annotation_)(nil),
2219		(*Span_TimeEvent_MessageEvent_)(nil),
2220	}
2221	type x struct{}
2222	out := protoimpl.TypeBuilder{
2223		File: protoimpl.DescBuilder{
2224			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2225			RawDescriptor: file_opencensus_proto_trace_v1_trace_proto_rawDesc,
2226			NumEnums:      3,
2227			NumMessages:   18,
2228			NumExtensions: 0,
2229			NumServices:   0,
2230		},
2231		GoTypes:           file_opencensus_proto_trace_v1_trace_proto_goTypes,
2232		DependencyIndexes: file_opencensus_proto_trace_v1_trace_proto_depIdxs,
2233		EnumInfos:         file_opencensus_proto_trace_v1_trace_proto_enumTypes,
2234		MessageInfos:      file_opencensus_proto_trace_v1_trace_proto_msgTypes,
2235	}.Build()
2236	File_opencensus_proto_trace_v1_trace_proto = out.File
2237	file_opencensus_proto_trace_v1_trace_proto_rawDesc = nil
2238	file_opencensus_proto_trace_v1_trace_proto_goTypes = nil
2239	file_opencensus_proto_trace_v1_trace_proto_depIdxs = nil
2240}
2241