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