github.com/pyroscope-io/pyroscope@v0.37.3-0.20230725203016-5f6947968bd0/pkg/storage/tree/profile.pb.go (about) 1 // Copyright 2016 Google Inc. All Rights Reserved. 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 // Profile is a common stacktrace profile format. 16 // 17 // Measurements represented with this format should follow the 18 // following conventions: 19 // 20 // - Consumers should treat unset optional fields as if they had been 21 // set with their default value. 22 // 23 // - When possible, measurements should be stored in "unsampled" form 24 // that is most useful to humans. There should be enough 25 // information present to determine the original sampled values. 26 // 27 // - On-disk, the serialized proto must be gzip-compressed. 28 // 29 // - The profile is represented as a set of samples, where each sample 30 // references a sequence of locations, and where each location belongs 31 // to a mapping. 32 // - There is a N->1 relationship from sample.location_id entries to 33 // locations. For every sample.location_id entry there must be a 34 // unique Location with that id. 35 // - There is an optional N->1 relationship from locations to 36 // mappings. For every nonzero Location.mapping_id there must be a 37 // unique Mapping with that id. 38 39 // Code generated by protoc-gen-go. DO NOT EDIT. 40 // versions: 41 // protoc-gen-go v1.27.1 42 // protoc v3.19.1 43 // source: profile.proto 44 45 package tree 46 47 import ( 48 reflect "reflect" 49 sync "sync" 50 51 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 52 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 53 ) 54 55 const ( 56 // Verify that this generated code is sufficiently up-to-date. 57 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 58 // Verify that runtime/protoimpl is sufficiently up-to-date. 59 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 60 ) 61 62 type Profile struct { 63 state protoimpl.MessageState 64 sizeCache protoimpl.SizeCache 65 unknownFields protoimpl.UnknownFields 66 67 // A description of the samples associated with each Sample.value. 68 // For a cpu profile this might be: 69 // [["cpu","nanoseconds"]] or [["wall","seconds"]] or [["syscall","count"]] 70 // For a heap profile, this might be: 71 // [["allocations","count"], ["space","bytes"]], 72 // If one of the values represents the number of events represented 73 // by the sample, by convention it should be at index 0 and use 74 // sample_type.unit == "count". 75 SampleType []*ValueType `protobuf:"bytes,1,rep,name=sample_type,json=sampleType,proto3" json:"sample_type,omitempty"` 76 // The set of samples recorded in this profile. 77 Sample []*Sample `protobuf:"bytes,2,rep,name=sample,proto3" json:"sample,omitempty"` 78 // Mapping from address ranges to the image/binary/library mapped 79 // into that address range. mapping[0] will be the main binary. 80 Mapping []*Mapping `protobuf:"bytes,3,rep,name=mapping,proto3" json:"mapping,omitempty"` 81 // Useful program location 82 Location []*Location `protobuf:"bytes,4,rep,name=location,proto3" json:"location,omitempty"` 83 // Functions referenced by locations 84 Function []*Function `protobuf:"bytes,5,rep,name=function,proto3" json:"function,omitempty"` 85 // A common table for strings referenced by various messages. 86 // string_table[0] must always be "". 87 StringTable []string `protobuf:"bytes,6,rep,name=string_table,json=stringTable,proto3" json:"string_table,omitempty"` 88 // frames with Function.function_name fully matching the following 89 // regexp will be dropped from the samples, along with their successors. 90 DropFrames int64 `protobuf:"varint,7,opt,name=drop_frames,json=dropFrames,proto3" json:"drop_frames,omitempty"` // Index into string table. 91 // frames with Function.function_name fully matching the following 92 // regexp will be kept, even if it matches drop_functions. 93 KeepFrames int64 `protobuf:"varint,8,opt,name=keep_frames,json=keepFrames,proto3" json:"keep_frames,omitempty"` // Index into string table. 94 // Time of collection (UTC) represented as nanoseconds past the epoch. 95 TimeNanos int64 `protobuf:"varint,9,opt,name=time_nanos,json=timeNanos,proto3" json:"time_nanos,omitempty"` 96 // Duration of the profile, if a duration makes sense. 97 DurationNanos int64 `protobuf:"varint,10,opt,name=duration_nanos,json=durationNanos,proto3" json:"duration_nanos,omitempty"` 98 // The kind of events between sampled ocurrences. 99 // e.g [ "cpu","cycles" ] or [ "heap","bytes" ] 100 PeriodType *ValueType `protobuf:"bytes,11,opt,name=period_type,json=periodType,proto3" json:"period_type,omitempty"` 101 // The number of events between sampled occurrences. 102 Period int64 `protobuf:"varint,12,opt,name=period,proto3" json:"period,omitempty"` 103 // Freeform text associated to the profile. 104 Comment []int64 `protobuf:"varint,13,rep,packed,name=comment,proto3" json:"comment,omitempty"` // Indices into string table. 105 // Index into the string table of the type of the preferred sample 106 // value. If unset, clients should default to the last sample value. 107 DefaultSampleType int64 `protobuf:"varint,14,opt,name=default_sample_type,json=defaultSampleType,proto3" json:"default_sample_type,omitempty"` 108 } 109 110 func (x *Profile) Reset() { 111 *x = Profile{} 112 if protoimpl.UnsafeEnabled { 113 mi := &file_profile_proto_msgTypes[0] 114 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 115 ms.StoreMessageInfo(mi) 116 } 117 } 118 119 func (x *Profile) String() string { 120 return protoimpl.X.MessageStringOf(x) 121 } 122 123 func (*Profile) ProtoMessage() {} 124 125 func (x *Profile) ProtoReflect() protoreflect.Message { 126 mi := &file_profile_proto_msgTypes[0] 127 if protoimpl.UnsafeEnabled && x != nil { 128 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 129 if ms.LoadMessageInfo() == nil { 130 ms.StoreMessageInfo(mi) 131 } 132 return ms 133 } 134 return mi.MessageOf(x) 135 } 136 137 // Deprecated: Use Profile.ProtoReflect.Descriptor instead. 138 func (*Profile) Descriptor() ([]byte, []int) { 139 return file_profile_proto_rawDescGZIP(), []int{0} 140 } 141 142 func (x *Profile) GetSampleType() []*ValueType { 143 if x != nil { 144 return x.SampleType 145 } 146 return nil 147 } 148 149 func (x *Profile) GetSample() []*Sample { 150 if x != nil { 151 return x.Sample 152 } 153 return nil 154 } 155 156 func (x *Profile) GetMapping() []*Mapping { 157 if x != nil { 158 return x.Mapping 159 } 160 return nil 161 } 162 163 func (x *Profile) GetLocation() []*Location { 164 if x != nil { 165 return x.Location 166 } 167 return nil 168 } 169 170 func (x *Profile) GetFunction() []*Function { 171 if x != nil { 172 return x.Function 173 } 174 return nil 175 } 176 177 func (x *Profile) GetStringTable() []string { 178 if x != nil { 179 return x.StringTable 180 } 181 return nil 182 } 183 184 func (x *Profile) GetDropFrames() int64 { 185 if x != nil { 186 return x.DropFrames 187 } 188 return 0 189 } 190 191 func (x *Profile) GetKeepFrames() int64 { 192 if x != nil { 193 return x.KeepFrames 194 } 195 return 0 196 } 197 198 func (x *Profile) GetTimeNanos() int64 { 199 if x != nil { 200 return x.TimeNanos 201 } 202 return 0 203 } 204 205 func (x *Profile) GetDurationNanos() int64 { 206 if x != nil { 207 return x.DurationNanos 208 } 209 return 0 210 } 211 212 func (x *Profile) GetPeriodType() *ValueType { 213 if x != nil { 214 return x.PeriodType 215 } 216 return nil 217 } 218 219 func (x *Profile) GetPeriod() int64 { 220 if x != nil { 221 return x.Period 222 } 223 return 0 224 } 225 226 func (x *Profile) GetComment() []int64 { 227 if x != nil { 228 return x.Comment 229 } 230 return nil 231 } 232 233 func (x *Profile) GetDefaultSampleType() int64 { 234 if x != nil { 235 return x.DefaultSampleType 236 } 237 return 0 238 } 239 240 // ValueType describes the semantics and measurement units of a value. 241 type ValueType struct { 242 state protoimpl.MessageState 243 sizeCache protoimpl.SizeCache 244 unknownFields protoimpl.UnknownFields 245 246 Type int64 `protobuf:"varint,1,opt,name=type,proto3" json:"type,omitempty"` // Index into string table. 247 Unit int64 `protobuf:"varint,2,opt,name=unit,proto3" json:"unit,omitempty"` // Index into string table. 248 } 249 250 func (x *ValueType) Reset() { 251 *x = ValueType{} 252 if protoimpl.UnsafeEnabled { 253 mi := &file_profile_proto_msgTypes[1] 254 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 255 ms.StoreMessageInfo(mi) 256 } 257 } 258 259 func (x *ValueType) String() string { 260 return protoimpl.X.MessageStringOf(x) 261 } 262 263 func (*ValueType) ProtoMessage() {} 264 265 func (x *ValueType) ProtoReflect() protoreflect.Message { 266 mi := &file_profile_proto_msgTypes[1] 267 if protoimpl.UnsafeEnabled && x != nil { 268 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 269 if ms.LoadMessageInfo() == nil { 270 ms.StoreMessageInfo(mi) 271 } 272 return ms 273 } 274 return mi.MessageOf(x) 275 } 276 277 // Deprecated: Use ValueType.ProtoReflect.Descriptor instead. 278 func (*ValueType) Descriptor() ([]byte, []int) { 279 return file_profile_proto_rawDescGZIP(), []int{1} 280 } 281 282 func (x *ValueType) GetType() int64 { 283 if x != nil { 284 return x.Type 285 } 286 return 0 287 } 288 289 func (x *ValueType) GetUnit() int64 { 290 if x != nil { 291 return x.Unit 292 } 293 return 0 294 } 295 296 // Each Sample records values encountered in some program 297 // context. The program context is typically a stack trace, perhaps 298 // augmented with auxiliary information like the thread-id, some 299 // indicator of a higher level request being handled etc. 300 type Sample struct { 301 state protoimpl.MessageState 302 sizeCache protoimpl.SizeCache 303 unknownFields protoimpl.UnknownFields 304 305 // The ids recorded here correspond to a Profile.location.id. 306 // The leaf is at location_id[0]. 307 LocationId []uint64 `protobuf:"varint,1,rep,packed,name=location_id,json=locationId,proto3" json:"location_id,omitempty"` 308 // The type and unit of each value is defined by the corresponding 309 // entry in Profile.sample_type. All samples must have the same 310 // number of values, the same as the length of Profile.sample_type. 311 // When aggregating multiple samples into a single sample, the 312 // result has a list of values that is the element-wise sum of the 313 // lists of the originals. 314 Value []int64 `protobuf:"varint,2,rep,packed,name=value,proto3" json:"value,omitempty"` 315 // label includes additional context for this sample. It can include 316 // things like a thread id, allocation size, etc 317 Label []*Label `protobuf:"bytes,3,rep,name=label,proto3" json:"label,omitempty"` 318 } 319 320 func (x *Sample) Reset() { 321 *x = Sample{} 322 if protoimpl.UnsafeEnabled { 323 mi := &file_profile_proto_msgTypes[2] 324 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 325 ms.StoreMessageInfo(mi) 326 } 327 } 328 329 func (x *Sample) String() string { 330 return protoimpl.X.MessageStringOf(x) 331 } 332 333 func (*Sample) ProtoMessage() {} 334 335 func (x *Sample) ProtoReflect() protoreflect.Message { 336 mi := &file_profile_proto_msgTypes[2] 337 if protoimpl.UnsafeEnabled && x != nil { 338 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 339 if ms.LoadMessageInfo() == nil { 340 ms.StoreMessageInfo(mi) 341 } 342 return ms 343 } 344 return mi.MessageOf(x) 345 } 346 347 // Deprecated: Use Sample.ProtoReflect.Descriptor instead. 348 func (*Sample) Descriptor() ([]byte, []int) { 349 return file_profile_proto_rawDescGZIP(), []int{2} 350 } 351 352 func (x *Sample) GetLocationId() []uint64 { 353 if x != nil { 354 return x.LocationId 355 } 356 return nil 357 } 358 359 func (x *Sample) GetValue() []int64 { 360 if x != nil { 361 return x.Value 362 } 363 return nil 364 } 365 366 func (x *Sample) GetLabel() []*Label { 367 if x != nil { 368 return x.Label 369 } 370 return nil 371 } 372 373 type Label struct { 374 state protoimpl.MessageState 375 sizeCache protoimpl.SizeCache 376 unknownFields protoimpl.UnknownFields 377 378 Key int64 `protobuf:"varint,1,opt,name=key,proto3" json:"key,omitempty"` // Index into string table 379 // At most one of the following must be present 380 Str int64 `protobuf:"varint,2,opt,name=str,proto3" json:"str,omitempty"` // Index into string table 381 Num int64 `protobuf:"varint,3,opt,name=num,proto3" json:"num,omitempty"` 382 // Should only be present when num is present. 383 // Specifies the units of num. 384 // Use arbitrary string (for example, "requests") as a custom count unit. 385 // If no unit is specified, consumer may apply heuristic to deduce the unit. 386 // Consumers may also interpret units like "bytes" and "kilobytes" as memory 387 // units and units like "seconds" and "nanoseconds" as time units, 388 // and apply appropriate unit conversions to these. 389 NumUnit int64 `protobuf:"varint,4,opt,name=num_unit,json=numUnit,proto3" json:"num_unit,omitempty"` // Index into string table 390 } 391 392 func (x *Label) Reset() { 393 *x = Label{} 394 if protoimpl.UnsafeEnabled { 395 mi := &file_profile_proto_msgTypes[3] 396 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 397 ms.StoreMessageInfo(mi) 398 } 399 } 400 401 func (x *Label) String() string { 402 return protoimpl.X.MessageStringOf(x) 403 } 404 405 func (*Label) ProtoMessage() {} 406 407 func (x *Label) ProtoReflect() protoreflect.Message { 408 mi := &file_profile_proto_msgTypes[3] 409 if protoimpl.UnsafeEnabled && x != nil { 410 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 411 if ms.LoadMessageInfo() == nil { 412 ms.StoreMessageInfo(mi) 413 } 414 return ms 415 } 416 return mi.MessageOf(x) 417 } 418 419 // Deprecated: Use Label.ProtoReflect.Descriptor instead. 420 func (*Label) Descriptor() ([]byte, []int) { 421 return file_profile_proto_rawDescGZIP(), []int{3} 422 } 423 424 func (x *Label) GetKey() int64 { 425 if x != nil { 426 return x.Key 427 } 428 return 0 429 } 430 431 func (x *Label) GetStr() int64 { 432 if x != nil { 433 return x.Str 434 } 435 return 0 436 } 437 438 func (x *Label) GetNum() int64 { 439 if x != nil { 440 return x.Num 441 } 442 return 0 443 } 444 445 func (x *Label) GetNumUnit() int64 { 446 if x != nil { 447 return x.NumUnit 448 } 449 return 0 450 } 451 452 type Mapping struct { 453 state protoimpl.MessageState 454 sizeCache protoimpl.SizeCache 455 unknownFields protoimpl.UnknownFields 456 457 // Unique nonzero id for the mapping. 458 Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` 459 // Address at which the binary (or DLL) is loaded into memory. 460 MemoryStart uint64 `protobuf:"varint,2,opt,name=memory_start,json=memoryStart,proto3" json:"memory_start,omitempty"` 461 // The limit of the address range occupied by this mapping. 462 MemoryLimit uint64 `protobuf:"varint,3,opt,name=memory_limit,json=memoryLimit,proto3" json:"memory_limit,omitempty"` 463 // Offset in the binary that corresponds to the first mapped address. 464 FileOffset uint64 `protobuf:"varint,4,opt,name=file_offset,json=fileOffset,proto3" json:"file_offset,omitempty"` 465 // The object this entry is loaded from. This can be a filename on 466 // disk for the main binary and shared libraries, or virtual 467 // abstractions like "[vdso]". 468 Filename int64 `protobuf:"varint,5,opt,name=filename,proto3" json:"filename,omitempty"` // Index into string table 469 // A string that uniquely identifies a particular program version 470 // with high probability. E.g., for binaries generated by GNU tools, 471 // it could be the contents of the .note.gnu.build-id field. 472 BuildId int64 `protobuf:"varint,6,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"` // Index into string table 473 // The following fields indicate the resolution of symbolic info. 474 HasFunctions bool `protobuf:"varint,7,opt,name=has_functions,json=hasFunctions,proto3" json:"has_functions,omitempty"` 475 HasFilenames bool `protobuf:"varint,8,opt,name=has_filenames,json=hasFilenames,proto3" json:"has_filenames,omitempty"` 476 HasLineNumbers bool `protobuf:"varint,9,opt,name=has_line_numbers,json=hasLineNumbers,proto3" json:"has_line_numbers,omitempty"` 477 HasInlineFrames bool `protobuf:"varint,10,opt,name=has_inline_frames,json=hasInlineFrames,proto3" json:"has_inline_frames,omitempty"` 478 } 479 480 func (x *Mapping) Reset() { 481 *x = Mapping{} 482 if protoimpl.UnsafeEnabled { 483 mi := &file_profile_proto_msgTypes[4] 484 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 485 ms.StoreMessageInfo(mi) 486 } 487 } 488 489 func (x *Mapping) String() string { 490 return protoimpl.X.MessageStringOf(x) 491 } 492 493 func (*Mapping) ProtoMessage() {} 494 495 func (x *Mapping) ProtoReflect() protoreflect.Message { 496 mi := &file_profile_proto_msgTypes[4] 497 if protoimpl.UnsafeEnabled && x != nil { 498 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 499 if ms.LoadMessageInfo() == nil { 500 ms.StoreMessageInfo(mi) 501 } 502 return ms 503 } 504 return mi.MessageOf(x) 505 } 506 507 // Deprecated: Use Mapping.ProtoReflect.Descriptor instead. 508 func (*Mapping) Descriptor() ([]byte, []int) { 509 return file_profile_proto_rawDescGZIP(), []int{4} 510 } 511 512 func (x *Mapping) GetId() uint64 { 513 if x != nil { 514 return x.Id 515 } 516 return 0 517 } 518 519 func (x *Mapping) GetMemoryStart() uint64 { 520 if x != nil { 521 return x.MemoryStart 522 } 523 return 0 524 } 525 526 func (x *Mapping) GetMemoryLimit() uint64 { 527 if x != nil { 528 return x.MemoryLimit 529 } 530 return 0 531 } 532 533 func (x *Mapping) GetFileOffset() uint64 { 534 if x != nil { 535 return x.FileOffset 536 } 537 return 0 538 } 539 540 func (x *Mapping) GetFilename() int64 { 541 if x != nil { 542 return x.Filename 543 } 544 return 0 545 } 546 547 func (x *Mapping) GetBuildId() int64 { 548 if x != nil { 549 return x.BuildId 550 } 551 return 0 552 } 553 554 func (x *Mapping) GetHasFunctions() bool { 555 if x != nil { 556 return x.HasFunctions 557 } 558 return false 559 } 560 561 func (x *Mapping) GetHasFilenames() bool { 562 if x != nil { 563 return x.HasFilenames 564 } 565 return false 566 } 567 568 func (x *Mapping) GetHasLineNumbers() bool { 569 if x != nil { 570 return x.HasLineNumbers 571 } 572 return false 573 } 574 575 func (x *Mapping) GetHasInlineFrames() bool { 576 if x != nil { 577 return x.HasInlineFrames 578 } 579 return false 580 } 581 582 // Describes function and line table debug information. 583 type Location struct { 584 state protoimpl.MessageState 585 sizeCache protoimpl.SizeCache 586 unknownFields protoimpl.UnknownFields 587 588 // Unique nonzero id for the location. A profile could use 589 // instruction addresses or any integer sequence as ids. 590 Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` 591 // The id of the corresponding profile.Mapping for this location. 592 // It can be unset if the mapping is unknown or not applicable for 593 // this profile type. 594 MappingId uint64 `protobuf:"varint,2,opt,name=mapping_id,json=mappingId,proto3" json:"mapping_id,omitempty"` 595 // The instruction address for this location, if available. It 596 // should be within [Mapping.memory_start...Mapping.memory_limit] 597 // for the corresponding mapping. A non-leaf address may be in the 598 // middle of a call instruction. It is up to display tools to find 599 // the beginning of the instruction if necessary. 600 Address uint64 `protobuf:"varint,3,opt,name=address,proto3" json:"address,omitempty"` 601 // Multiple line indicates this location has inlined functions, 602 // where the last entry represents the caller into which the 603 // preceding entries were inlined. 604 // 605 // E.g., if memcpy() is inlined into printf: 606 // line[0].function_name == "memcpy" 607 // line[1].function_name == "printf" 608 Line []*Line `protobuf:"bytes,4,rep,name=line,proto3" json:"line,omitempty"` 609 // Provides an indication that multiple symbols map to this location's 610 // address, for example due to identical code folding by the linker. In that 611 // case the line information above represents one of the multiple 612 // symbols. This field must be recomputed when the symbolization state of the 613 // profile changes. 614 IsFolded bool `protobuf:"varint,5,opt,name=is_folded,json=isFolded,proto3" json:"is_folded,omitempty"` 615 } 616 617 func (x *Location) Reset() { 618 *x = Location{} 619 if protoimpl.UnsafeEnabled { 620 mi := &file_profile_proto_msgTypes[5] 621 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 622 ms.StoreMessageInfo(mi) 623 } 624 } 625 626 func (x *Location) String() string { 627 return protoimpl.X.MessageStringOf(x) 628 } 629 630 func (*Location) ProtoMessage() {} 631 632 func (x *Location) ProtoReflect() protoreflect.Message { 633 mi := &file_profile_proto_msgTypes[5] 634 if protoimpl.UnsafeEnabled && x != nil { 635 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 636 if ms.LoadMessageInfo() == nil { 637 ms.StoreMessageInfo(mi) 638 } 639 return ms 640 } 641 return mi.MessageOf(x) 642 } 643 644 // Deprecated: Use Location.ProtoReflect.Descriptor instead. 645 func (*Location) Descriptor() ([]byte, []int) { 646 return file_profile_proto_rawDescGZIP(), []int{5} 647 } 648 649 func (x *Location) GetId() uint64 { 650 if x != nil { 651 return x.Id 652 } 653 return 0 654 } 655 656 func (x *Location) GetMappingId() uint64 { 657 if x != nil { 658 return x.MappingId 659 } 660 return 0 661 } 662 663 func (x *Location) GetAddress() uint64 { 664 if x != nil { 665 return x.Address 666 } 667 return 0 668 } 669 670 func (x *Location) GetLine() []*Line { 671 if x != nil { 672 return x.Line 673 } 674 return nil 675 } 676 677 func (x *Location) GetIsFolded() bool { 678 if x != nil { 679 return x.IsFolded 680 } 681 return false 682 } 683 684 type Line struct { 685 state protoimpl.MessageState 686 sizeCache protoimpl.SizeCache 687 unknownFields protoimpl.UnknownFields 688 689 // The id of the corresponding profile.Function for this line. 690 FunctionId uint64 `protobuf:"varint,1,opt,name=function_id,json=functionId,proto3" json:"function_id,omitempty"` 691 // Line number in source code. 692 Line int64 `protobuf:"varint,2,opt,name=line,proto3" json:"line,omitempty"` 693 } 694 695 func (x *Line) Reset() { 696 *x = Line{} 697 if protoimpl.UnsafeEnabled { 698 mi := &file_profile_proto_msgTypes[6] 699 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 700 ms.StoreMessageInfo(mi) 701 } 702 } 703 704 func (x *Line) String() string { 705 return protoimpl.X.MessageStringOf(x) 706 } 707 708 func (*Line) ProtoMessage() {} 709 710 func (x *Line) ProtoReflect() protoreflect.Message { 711 mi := &file_profile_proto_msgTypes[6] 712 if protoimpl.UnsafeEnabled && x != nil { 713 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 714 if ms.LoadMessageInfo() == nil { 715 ms.StoreMessageInfo(mi) 716 } 717 return ms 718 } 719 return mi.MessageOf(x) 720 } 721 722 // Deprecated: Use Line.ProtoReflect.Descriptor instead. 723 func (*Line) Descriptor() ([]byte, []int) { 724 return file_profile_proto_rawDescGZIP(), []int{6} 725 } 726 727 func (x *Line) GetFunctionId() uint64 { 728 if x != nil { 729 return x.FunctionId 730 } 731 return 0 732 } 733 734 func (x *Line) GetLine() int64 { 735 if x != nil { 736 return x.Line 737 } 738 return 0 739 } 740 741 type Function struct { 742 state protoimpl.MessageState 743 sizeCache protoimpl.SizeCache 744 unknownFields protoimpl.UnknownFields 745 746 // Unique nonzero id for the function. 747 Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` 748 // Name of the function, in human-readable form if available. 749 Name int64 `protobuf:"varint,2,opt,name=name,proto3" json:"name,omitempty"` // Index into string table 750 // Name of the function, as identified by the system. 751 // For instance, it can be a C++ mangled name. 752 SystemName int64 `protobuf:"varint,3,opt,name=system_name,json=systemName,proto3" json:"system_name,omitempty"` // Index into string table 753 // Source file containing the function. 754 Filename int64 `protobuf:"varint,4,opt,name=filename,proto3" json:"filename,omitempty"` // Index into string table 755 // Line number in source file. 756 StartLine int64 `protobuf:"varint,5,opt,name=start_line,json=startLine,proto3" json:"start_line,omitempty"` 757 } 758 759 func (x *Function) Reset() { 760 *x = Function{} 761 if protoimpl.UnsafeEnabled { 762 mi := &file_profile_proto_msgTypes[7] 763 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 764 ms.StoreMessageInfo(mi) 765 } 766 } 767 768 func (x *Function) String() string { 769 return protoimpl.X.MessageStringOf(x) 770 } 771 772 func (*Function) ProtoMessage() {} 773 774 func (x *Function) ProtoReflect() protoreflect.Message { 775 mi := &file_profile_proto_msgTypes[7] 776 if protoimpl.UnsafeEnabled && x != nil { 777 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 778 if ms.LoadMessageInfo() == nil { 779 ms.StoreMessageInfo(mi) 780 } 781 return ms 782 } 783 return mi.MessageOf(x) 784 } 785 786 // Deprecated: Use Function.ProtoReflect.Descriptor instead. 787 func (*Function) Descriptor() ([]byte, []int) { 788 return file_profile_proto_rawDescGZIP(), []int{7} 789 } 790 791 func (x *Function) GetId() uint64 { 792 if x != nil { 793 return x.Id 794 } 795 return 0 796 } 797 798 func (x *Function) GetName() int64 { 799 if x != nil { 800 return x.Name 801 } 802 return 0 803 } 804 805 func (x *Function) GetSystemName() int64 { 806 if x != nil { 807 return x.SystemName 808 } 809 return 0 810 } 811 812 func (x *Function) GetFilename() int64 { 813 if x != nil { 814 return x.Filename 815 } 816 return 0 817 } 818 819 func (x *Function) GetStartLine() int64 { 820 if x != nil { 821 return x.StartLine 822 } 823 return 0 824 } 825 826 var File_profile_proto protoreflect.FileDescriptor 827 828 var file_profile_proto_rawDesc = []byte{ 829 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 830 0x17, 0x70, 0x65, 0x72, 0x66, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x66, 0x69, 831 0x6c, 0x65, 0x73, 0x2e, 0x74, 0x72, 0x65, 0x65, 0x22, 0x93, 0x05, 0x0a, 0x07, 0x50, 0x72, 0x6f, 832 0x66, 0x69, 0x6c, 0x65, 0x12, 0x43, 0x0a, 0x0b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x74, 833 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 0x65, 0x72, 0x66, 834 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x74, 835 0x72, 0x65, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x73, 836 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x61, 0x6d, 837 0x70, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x70, 0x65, 0x72, 0x66, 838 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x74, 839 0x72, 0x65, 0x65, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x06, 0x73, 0x61, 0x6d, 0x70, 840 0x6c, 0x65, 0x12, 0x3a, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 841 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 842 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x74, 0x72, 0x65, 0x65, 0x2e, 0x4d, 0x61, 843 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x3d, 844 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 845 0x32, 0x21, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 846 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x74, 0x72, 0x65, 0x65, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x74, 847 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3d, 0x0a, 848 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 849 0x21, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x66, 850 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x74, 0x72, 0x65, 0x65, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 851 0x6f, 0x6e, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 852 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x03, 853 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 854 0x1f, 0x0a, 0x0b, 0x64, 0x72, 0x6f, 0x70, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x07, 855 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x72, 0x6f, 0x70, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 856 0x12, 0x1f, 0x0a, 0x0b, 0x6b, 0x65, 0x65, 0x70, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 857 0x08, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6b, 0x65, 0x65, 0x70, 0x46, 0x72, 0x61, 0x6d, 0x65, 858 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6e, 0x61, 0x6e, 0x6f, 0x73, 0x18, 859 0x09, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 860 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6e, 861 0x6f, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 862 0x6f, 0x6e, 0x4e, 0x61, 0x6e, 0x6f, 0x73, 0x12, 0x43, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x69, 0x6f, 863 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x70, 864 0x65, 0x72, 0x66, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 865 0x73, 0x2e, 0x74, 0x72, 0x65, 0x65, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 866 0x52, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 867 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x70, 0x65, 868 0x72, 0x69, 0x6f, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 869 0x0d, 0x20, 0x03, 0x28, 0x03, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2e, 870 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 871 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x52, 0x11, 0x64, 0x65, 0x66, 872 0x61, 0x75, 0x6c, 0x74, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x33, 873 0x0a, 0x09, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 874 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 875 0x12, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x75, 876 0x6e, 0x69, 0x74, 0x22, 0x75, 0x0a, 0x06, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 877 0x0b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x03, 878 0x28, 0x04, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x14, 879 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x03, 0x52, 0x05, 0x76, 880 0x61, 0x6c, 0x75, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x03, 0x20, 881 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 882 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x74, 0x72, 0x65, 0x65, 0x2e, 0x4c, 0x61, 883 0x62, 0x65, 0x6c, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x58, 0x0a, 0x05, 0x4c, 0x61, 884 0x62, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 885 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x74, 0x72, 0x18, 0x02, 0x20, 0x01, 886 0x28, 0x03, 0x52, 0x03, 0x73, 0x74, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6e, 0x75, 0x6d, 0x18, 0x03, 887 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x6e, 0x75, 0x6d, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 888 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x6e, 0x75, 0x6d, 889 0x55, 0x6e, 0x69, 0x74, 0x22, 0xd7, 0x02, 0x0a, 0x07, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 890 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 891 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 892 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x53, 0x74, 893 0x61, 0x72, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x6c, 0x69, 894 0x6d, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 895 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6f, 896 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x66, 0x69, 0x6c, 897 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 898 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 899 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x5f, 0x69, 0x64, 0x18, 900 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x49, 0x64, 0x12, 0x23, 901 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 902 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 903 0x6f, 0x6e, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 904 0x61, 0x6d, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x46, 905 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x10, 0x68, 0x61, 0x73, 0x5f, 906 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x18, 0x09, 0x20, 0x01, 907 0x28, 0x08, 0x52, 0x0e, 0x68, 0x61, 0x73, 0x4c, 0x69, 0x6e, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 908 0x72, 0x73, 0x12, 0x2a, 0x0a, 0x11, 0x68, 0x61, 0x73, 0x5f, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 909 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x68, 910 0x61, 0x73, 0x49, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x22, 0xa3, 911 0x01, 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 912 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 913 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 914 0x09, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 915 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x61, 0x64, 0x64, 916 0x72, 0x65, 0x73, 0x73, 0x12, 0x31, 0x0a, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x03, 917 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x70, 0x65, 0x72, 0x66, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x70, 918 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x74, 0x72, 0x65, 0x65, 0x2e, 0x4c, 0x69, 0x6e, 919 0x65, 0x52, 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x66, 0x6f, 920 0x6c, 0x64, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x46, 0x6f, 921 0x6c, 0x64, 0x65, 0x64, 0x22, 0x3b, 0x0a, 0x04, 0x4c, 0x69, 0x6e, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 922 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 923 0x04, 0x52, 0x0a, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 924 0x04, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6c, 0x69, 0x6e, 925 0x65, 0x22, 0x8a, 0x01, 0x0a, 0x08, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 926 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 927 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x6e, 0x61, 928 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 929 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x4e, 930 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 931 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 932 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 933 0x01, 0x28, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x4c, 0x69, 0x6e, 0x65, 0x42, 0x0a, 934 0x5a, 0x08, 0x70, 0x6b, 0x67, 0x2f, 0x74, 0x72, 0x65, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 935 0x6f, 0x33, 936 } 937 938 var ( 939 file_profile_proto_rawDescOnce sync.Once 940 file_profile_proto_rawDescData = file_profile_proto_rawDesc 941 ) 942 943 func file_profile_proto_rawDescGZIP() []byte { 944 file_profile_proto_rawDescOnce.Do(func() { 945 file_profile_proto_rawDescData = protoimpl.X.CompressGZIP(file_profile_proto_rawDescData) 946 }) 947 return file_profile_proto_rawDescData 948 } 949 950 var file_profile_proto_msgTypes = make([]protoimpl.MessageInfo, 8) 951 var file_profile_proto_goTypes = []interface{}{ 952 (*Profile)(nil), // 0: perftools.profiles.tree.Profile 953 (*ValueType)(nil), // 1: perftools.profiles.tree.ValueType 954 (*Sample)(nil), // 2: perftools.profiles.tree.Sample 955 (*Label)(nil), // 3: perftools.profiles.tree.Label 956 (*Mapping)(nil), // 4: perftools.profiles.tree.Mapping 957 (*Location)(nil), // 5: perftools.profiles.tree.Location 958 (*Line)(nil), // 6: perftools.profiles.tree.Line 959 (*Function)(nil), // 7: perftools.profiles.tree.Function 960 } 961 var file_profile_proto_depIdxs = []int32{ 962 1, // 0: perftools.profiles.tree.Profile.sample_type:type_name -> perftools.profiles.tree.ValueType 963 2, // 1: perftools.profiles.tree.Profile.sample:type_name -> perftools.profiles.tree.Sample 964 4, // 2: perftools.profiles.tree.Profile.mapping:type_name -> perftools.profiles.tree.Mapping 965 5, // 3: perftools.profiles.tree.Profile.location:type_name -> perftools.profiles.tree.Location 966 7, // 4: perftools.profiles.tree.Profile.function:type_name -> perftools.profiles.tree.Function 967 1, // 5: perftools.profiles.tree.Profile.period_type:type_name -> perftools.profiles.tree.ValueType 968 3, // 6: perftools.profiles.tree.Sample.label:type_name -> perftools.profiles.tree.Label 969 6, // 7: perftools.profiles.tree.Location.line:type_name -> perftools.profiles.tree.Line 970 8, // [8:8] is the sub-list for method output_type 971 8, // [8:8] is the sub-list for method input_type 972 8, // [8:8] is the sub-list for extension type_name 973 8, // [8:8] is the sub-list for extension extendee 974 0, // [0:8] is the sub-list for field type_name 975 } 976 977 func init() { file_profile_proto_init() } 978 func file_profile_proto_init() { 979 if File_profile_proto != nil { 980 return 981 } 982 if !protoimpl.UnsafeEnabled { 983 file_profile_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 984 switch v := v.(*Profile); i { 985 case 0: 986 return &v.state 987 case 1: 988 return &v.sizeCache 989 case 2: 990 return &v.unknownFields 991 default: 992 return nil 993 } 994 } 995 file_profile_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 996 switch v := v.(*ValueType); i { 997 case 0: 998 return &v.state 999 case 1: 1000 return &v.sizeCache 1001 case 2: 1002 return &v.unknownFields 1003 default: 1004 return nil 1005 } 1006 } 1007 file_profile_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1008 switch v := v.(*Sample); i { 1009 case 0: 1010 return &v.state 1011 case 1: 1012 return &v.sizeCache 1013 case 2: 1014 return &v.unknownFields 1015 default: 1016 return nil 1017 } 1018 } 1019 file_profile_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1020 switch v := v.(*Label); i { 1021 case 0: 1022 return &v.state 1023 case 1: 1024 return &v.sizeCache 1025 case 2: 1026 return &v.unknownFields 1027 default: 1028 return nil 1029 } 1030 } 1031 file_profile_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1032 switch v := v.(*Mapping); i { 1033 case 0: 1034 return &v.state 1035 case 1: 1036 return &v.sizeCache 1037 case 2: 1038 return &v.unknownFields 1039 default: 1040 return nil 1041 } 1042 } 1043 file_profile_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1044 switch v := v.(*Location); i { 1045 case 0: 1046 return &v.state 1047 case 1: 1048 return &v.sizeCache 1049 case 2: 1050 return &v.unknownFields 1051 default: 1052 return nil 1053 } 1054 } 1055 file_profile_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1056 switch v := v.(*Line); i { 1057 case 0: 1058 return &v.state 1059 case 1: 1060 return &v.sizeCache 1061 case 2: 1062 return &v.unknownFields 1063 default: 1064 return nil 1065 } 1066 } 1067 file_profile_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1068 switch v := v.(*Function); i { 1069 case 0: 1070 return &v.state 1071 case 1: 1072 return &v.sizeCache 1073 case 2: 1074 return &v.unknownFields 1075 default: 1076 return nil 1077 } 1078 } 1079 } 1080 type x struct{} 1081 out := protoimpl.TypeBuilder{ 1082 File: protoimpl.DescBuilder{ 1083 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1084 RawDescriptor: file_profile_proto_rawDesc, 1085 NumEnums: 0, 1086 NumMessages: 8, 1087 NumExtensions: 0, 1088 NumServices: 0, 1089 }, 1090 GoTypes: file_profile_proto_goTypes, 1091 DependencyIndexes: file_profile_proto_depIdxs, 1092 MessageInfos: file_profile_proto_msgTypes, 1093 }.Build() 1094 File_profile_proto = out.File 1095 file_profile_proto_rawDesc = nil 1096 file_profile_proto_goTypes = nil 1097 file_profile_proto_depIdxs = nil 1098 }