github.com/uber-go/tally/v4@v4.1.17/m3/thrift/v2/ttypes.go (about) 1 // Autogenerated by Thrift Compiler (0.9.3) 2 // DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING 3 4 package v2 5 6 import ( 7 "bytes" 8 "fmt" 9 "github.com/uber-go/tally/v4/thirdparty/github.com/apache/thrift/lib/go/thrift" 10 ) 11 12 // (needed to ensure safety because of naive import list construction.) 13 var _ = thrift.ZERO 14 var _ = fmt.Printf 15 var _ = bytes.Equal 16 17 var GoUnusedProtection__ int 18 19 type MetricType int64 20 21 const ( 22 MetricType_INVALID MetricType = 0 23 MetricType_COUNTER MetricType = 1 24 MetricType_GAUGE MetricType = 2 25 MetricType_TIMER MetricType = 3 26 ) 27 28 func (p MetricType) String() string { 29 switch p { 30 case MetricType_INVALID: 31 return "INVALID" 32 case MetricType_COUNTER: 33 return "COUNTER" 34 case MetricType_GAUGE: 35 return "GAUGE" 36 case MetricType_TIMER: 37 return "TIMER" 38 } 39 return "<UNSET>" 40 } 41 42 func MetricTypeFromString(s string) (MetricType, error) { 43 switch s { 44 case "INVALID": 45 return MetricType_INVALID, nil 46 case "COUNTER": 47 return MetricType_COUNTER, nil 48 case "GAUGE": 49 return MetricType_GAUGE, nil 50 case "TIMER": 51 return MetricType_TIMER, nil 52 } 53 return MetricType(0), fmt.Errorf("not a valid MetricType string") 54 } 55 56 func MetricTypePtr(v MetricType) *MetricType { return &v } 57 58 func (p MetricType) MarshalText() ([]byte, error) { 59 return []byte(p.String()), nil 60 } 61 62 func (p *MetricType) UnmarshalText(text []byte) error { 63 q, err := MetricTypeFromString(string(text)) 64 if err != nil { 65 return err 66 } 67 *p = q 68 return nil 69 } 70 71 // Attributes: 72 // - MetricType 73 // - Count 74 // - Gauge 75 // - Timer 76 type MetricValue struct { 77 MetricType MetricType `thrift:"metricType,1,required" json:"metricType"` 78 Count int64 `thrift:"count,2,required" json:"count"` 79 Gauge float64 `thrift:"gauge,3,required" json:"gauge"` 80 Timer int64 `thrift:"timer,4,required" json:"timer"` 81 } 82 83 func NewMetricValue() *MetricValue { 84 return &MetricValue{} 85 } 86 87 func (p *MetricValue) GetMetricType() MetricType { 88 return p.MetricType 89 } 90 91 func (p *MetricValue) GetCount() int64 { 92 return p.Count 93 } 94 95 func (p *MetricValue) GetGauge() float64 { 96 return p.Gauge 97 } 98 99 func (p *MetricValue) GetTimer() int64 { 100 return p.Timer 101 } 102 func (p *MetricValue) Read(iprot thrift.TProtocol) error { 103 if _, err := iprot.ReadStructBegin(); err != nil { 104 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 105 } 106 107 var issetMetricType bool = false 108 var issetCount bool = false 109 var issetGauge bool = false 110 var issetTimer bool = false 111 112 for { 113 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 114 if err != nil { 115 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 116 } 117 if fieldTypeId == thrift.STOP { 118 break 119 } 120 switch fieldId { 121 case 1: 122 if err := p.readField1(iprot); err != nil { 123 return err 124 } 125 issetMetricType = true 126 case 2: 127 if err := p.readField2(iprot); err != nil { 128 return err 129 } 130 issetCount = true 131 case 3: 132 if err := p.readField3(iprot); err != nil { 133 return err 134 } 135 issetGauge = true 136 case 4: 137 if err := p.readField4(iprot); err != nil { 138 return err 139 } 140 issetTimer = true 141 default: 142 if err := iprot.Skip(fieldTypeId); err != nil { 143 return err 144 } 145 } 146 if err := iprot.ReadFieldEnd(); err != nil { 147 return err 148 } 149 } 150 if err := iprot.ReadStructEnd(); err != nil { 151 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 152 } 153 if !issetMetricType { 154 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field MetricType is not set")) 155 } 156 if !issetCount { 157 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Count is not set")) 158 } 159 if !issetGauge { 160 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Gauge is not set")) 161 } 162 if !issetTimer { 163 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timer is not set")) 164 } 165 return nil 166 } 167 168 func (p *MetricValue) readField1(iprot thrift.TProtocol) error { 169 if v, err := iprot.ReadI32(); err != nil { 170 return thrift.PrependError("error reading field 1: ", err) 171 } else { 172 temp := MetricType(v) 173 p.MetricType = temp 174 } 175 return nil 176 } 177 178 func (p *MetricValue) readField2(iprot thrift.TProtocol) error { 179 if v, err := iprot.ReadI64(); err != nil { 180 return thrift.PrependError("error reading field 2: ", err) 181 } else { 182 p.Count = v 183 } 184 return nil 185 } 186 187 func (p *MetricValue) readField3(iprot thrift.TProtocol) error { 188 if v, err := iprot.ReadDouble(); err != nil { 189 return thrift.PrependError("error reading field 3: ", err) 190 } else { 191 p.Gauge = v 192 } 193 return nil 194 } 195 196 func (p *MetricValue) readField4(iprot thrift.TProtocol) error { 197 if v, err := iprot.ReadI64(); err != nil { 198 return thrift.PrependError("error reading field 4: ", err) 199 } else { 200 p.Timer = v 201 } 202 return nil 203 } 204 205 func (p *MetricValue) Write(oprot thrift.TProtocol) error { 206 if err := oprot.WriteStructBegin("MetricValue"); err != nil { 207 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 208 } 209 if err := p.writeField1(oprot); err != nil { 210 return err 211 } 212 if err := p.writeField2(oprot); err != nil { 213 return err 214 } 215 if err := p.writeField3(oprot); err != nil { 216 return err 217 } 218 if err := p.writeField4(oprot); err != nil { 219 return err 220 } 221 if err := oprot.WriteFieldStop(); err != nil { 222 return thrift.PrependError("write field stop error: ", err) 223 } 224 if err := oprot.WriteStructEnd(); err != nil { 225 return thrift.PrependError("write struct stop error: ", err) 226 } 227 return nil 228 } 229 230 func (p *MetricValue) writeField1(oprot thrift.TProtocol) (err error) { 231 if err := oprot.WriteFieldBegin("metricType", thrift.I32, 1); err != nil { 232 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:metricType: ", p), err) 233 } 234 if err := oprot.WriteI32(int32(p.MetricType)); err != nil { 235 return thrift.PrependError(fmt.Sprintf("%T.metricType (1) field write error: ", p), err) 236 } 237 if err := oprot.WriteFieldEnd(); err != nil { 238 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:metricType: ", p), err) 239 } 240 return err 241 } 242 243 func (p *MetricValue) writeField2(oprot thrift.TProtocol) (err error) { 244 if err := oprot.WriteFieldBegin("count", thrift.I64, 2); err != nil { 245 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:count: ", p), err) 246 } 247 if err := oprot.WriteI64(int64(p.Count)); err != nil { 248 return thrift.PrependError(fmt.Sprintf("%T.count (2) field write error: ", p), err) 249 } 250 if err := oprot.WriteFieldEnd(); err != nil { 251 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:count: ", p), err) 252 } 253 return err 254 } 255 256 func (p *MetricValue) writeField3(oprot thrift.TProtocol) (err error) { 257 if err := oprot.WriteFieldBegin("gauge", thrift.DOUBLE, 3); err != nil { 258 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:gauge: ", p), err) 259 } 260 if err := oprot.WriteDouble(float64(p.Gauge)); err != nil { 261 return thrift.PrependError(fmt.Sprintf("%T.gauge (3) field write error: ", p), err) 262 } 263 if err := oprot.WriteFieldEnd(); err != nil { 264 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:gauge: ", p), err) 265 } 266 return err 267 } 268 269 func (p *MetricValue) writeField4(oprot thrift.TProtocol) (err error) { 270 if err := oprot.WriteFieldBegin("timer", thrift.I64, 4); err != nil { 271 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:timer: ", p), err) 272 } 273 if err := oprot.WriteI64(int64(p.Timer)); err != nil { 274 return thrift.PrependError(fmt.Sprintf("%T.timer (4) field write error: ", p), err) 275 } 276 if err := oprot.WriteFieldEnd(); err != nil { 277 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:timer: ", p), err) 278 } 279 return err 280 } 281 282 func (p *MetricValue) String() string { 283 if p == nil { 284 return "<nil>" 285 } 286 return fmt.Sprintf("MetricValue(%+v)", *p) 287 } 288 289 // Attributes: 290 // - Name 291 // - Value 292 type MetricTag struct { 293 Name string `thrift:"name,1,required" json:"name"` 294 Value string `thrift:"value,2,required" json:"value"` 295 } 296 297 func NewMetricTag() *MetricTag { 298 return &MetricTag{} 299 } 300 301 func (p *MetricTag) GetName() string { 302 return p.Name 303 } 304 305 func (p *MetricTag) GetValue() string { 306 return p.Value 307 } 308 func (p *MetricTag) Read(iprot thrift.TProtocol) error { 309 if _, err := iprot.ReadStructBegin(); err != nil { 310 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 311 } 312 313 var issetName bool = false 314 var issetValue bool = false 315 316 for { 317 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 318 if err != nil { 319 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 320 } 321 if fieldTypeId == thrift.STOP { 322 break 323 } 324 switch fieldId { 325 case 1: 326 if err := p.readField1(iprot); err != nil { 327 return err 328 } 329 issetName = true 330 case 2: 331 if err := p.readField2(iprot); err != nil { 332 return err 333 } 334 issetValue = true 335 default: 336 if err := iprot.Skip(fieldTypeId); err != nil { 337 return err 338 } 339 } 340 if err := iprot.ReadFieldEnd(); err != nil { 341 return err 342 } 343 } 344 if err := iprot.ReadStructEnd(); err != nil { 345 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 346 } 347 if !issetName { 348 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Name is not set")) 349 } 350 if !issetValue { 351 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Value is not set")) 352 } 353 return nil 354 } 355 356 func (p *MetricTag) readField1(iprot thrift.TProtocol) error { 357 if v, err := iprot.ReadString(); err != nil { 358 return thrift.PrependError("error reading field 1: ", err) 359 } else { 360 p.Name = v 361 } 362 return nil 363 } 364 365 func (p *MetricTag) readField2(iprot thrift.TProtocol) error { 366 if v, err := iprot.ReadString(); err != nil { 367 return thrift.PrependError("error reading field 2: ", err) 368 } else { 369 p.Value = v 370 } 371 return nil 372 } 373 374 func (p *MetricTag) Write(oprot thrift.TProtocol) error { 375 if err := oprot.WriteStructBegin("MetricTag"); err != nil { 376 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 377 } 378 if err := p.writeField1(oprot); err != nil { 379 return err 380 } 381 if err := p.writeField2(oprot); err != nil { 382 return err 383 } 384 if err := oprot.WriteFieldStop(); err != nil { 385 return thrift.PrependError("write field stop error: ", err) 386 } 387 if err := oprot.WriteStructEnd(); err != nil { 388 return thrift.PrependError("write struct stop error: ", err) 389 } 390 return nil 391 } 392 393 func (p *MetricTag) writeField1(oprot thrift.TProtocol) (err error) { 394 if err := oprot.WriteFieldBegin("name", thrift.STRING, 1); err != nil { 395 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:name: ", p), err) 396 } 397 if err := oprot.WriteString(string(p.Name)); err != nil { 398 return thrift.PrependError(fmt.Sprintf("%T.name (1) field write error: ", p), err) 399 } 400 if err := oprot.WriteFieldEnd(); err != nil { 401 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:name: ", p), err) 402 } 403 return err 404 } 405 406 func (p *MetricTag) writeField2(oprot thrift.TProtocol) (err error) { 407 if err := oprot.WriteFieldBegin("value", thrift.STRING, 2); err != nil { 408 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:value: ", p), err) 409 } 410 if err := oprot.WriteString(string(p.Value)); err != nil { 411 return thrift.PrependError(fmt.Sprintf("%T.value (2) field write error: ", p), err) 412 } 413 if err := oprot.WriteFieldEnd(); err != nil { 414 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:value: ", p), err) 415 } 416 return err 417 } 418 419 func (p *MetricTag) String() string { 420 if p == nil { 421 return "<nil>" 422 } 423 return fmt.Sprintf("MetricTag(%+v)", *p) 424 } 425 426 // Attributes: 427 // - Name 428 // - Value 429 // - Timestamp 430 // - Tags 431 type Metric struct { 432 Name string `thrift:"name,1,required" json:"name"` 433 Value MetricValue `thrift:"value,2,required" json:"value"` 434 Timestamp int64 `thrift:"timestamp,3,required" json:"timestamp"` 435 Tags []MetricTag `thrift:"tags,4" json:"tags,omitempty"` 436 } 437 438 func NewMetric() *Metric { 439 return &Metric{} 440 } 441 442 func (p *Metric) GetName() string { 443 return p.Name 444 } 445 446 var Metric_Value_DEFAULT MetricValue 447 448 func (p *Metric) GetValue() MetricValue { 449 if !p.IsSetValue() { 450 return Metric_Value_DEFAULT 451 } 452 return p.Value 453 } 454 455 func (p *Metric) GetTimestamp() int64 { 456 return p.Timestamp 457 } 458 459 var Metric_Tags_DEFAULT []MetricTag 460 461 func (p *Metric) GetTags() []MetricTag { 462 return p.Tags 463 } 464 func (p *Metric) IsSetValue() bool { 465 return p.Value.GetMetricType() != MetricType_INVALID || p.Value.Count != 0 || p.Value.Gauge != 0 || p.Value.Timer != 0 466 } 467 468 func (p *Metric) IsSetTags() bool { 469 return p.Tags != nil 470 } 471 472 func (p *Metric) Read(iprot thrift.TProtocol) error { 473 if _, err := iprot.ReadStructBegin(); err != nil { 474 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 475 } 476 477 var issetName bool = false 478 var issetValue bool = false 479 var issetTimestamp bool = false 480 481 for { 482 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 483 if err != nil { 484 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 485 } 486 if fieldTypeId == thrift.STOP { 487 break 488 } 489 switch fieldId { 490 case 1: 491 if err := p.readField1(iprot); err != nil { 492 return err 493 } 494 issetName = true 495 case 2: 496 if err := p.readField2(iprot); err != nil { 497 return err 498 } 499 issetValue = true 500 case 3: 501 if err := p.readField3(iprot); err != nil { 502 return err 503 } 504 issetTimestamp = true 505 case 4: 506 if err := p.readField4(iprot); err != nil { 507 return err 508 } 509 default: 510 if err := iprot.Skip(fieldTypeId); err != nil { 511 return err 512 } 513 } 514 if err := iprot.ReadFieldEnd(); err != nil { 515 return err 516 } 517 } 518 if err := iprot.ReadStructEnd(); err != nil { 519 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 520 } 521 if !issetName { 522 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Name is not set")) 523 } 524 if !issetValue { 525 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Value is not set")) 526 } 527 if !issetTimestamp { 528 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Timestamp is not set")) 529 } 530 return nil 531 } 532 533 func (p *Metric) readField1(iprot thrift.TProtocol) error { 534 if v, err := iprot.ReadString(); err != nil { 535 return thrift.PrependError("error reading field 1: ", err) 536 } else { 537 p.Name = v 538 } 539 return nil 540 } 541 542 func (p *Metric) readField2(iprot thrift.TProtocol) error { 543 p.Value = MetricValue{} 544 if err := p.Value.Read(iprot); err != nil { 545 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", p.Value), err) 546 } 547 return nil 548 } 549 550 func (p *Metric) readField3(iprot thrift.TProtocol) error { 551 if v, err := iprot.ReadI64(); err != nil { 552 return thrift.PrependError("error reading field 3: ", err) 553 } else { 554 p.Timestamp = v 555 } 556 return nil 557 } 558 559 func (p *Metric) readField4(iprot thrift.TProtocol) error { 560 _, size, err := iprot.ReadListBegin() 561 if err != nil { 562 return thrift.PrependError("error reading list begin: ", err) 563 } 564 tSlice := make([]MetricTag, 0, size) 565 p.Tags = tSlice 566 for i := 0; i < size; i++ { 567 _elem0 := MetricTag{} 568 if err := _elem0.Read(iprot); err != nil { 569 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem0), err) 570 } 571 p.Tags = append(p.Tags, _elem0) 572 } 573 if err := iprot.ReadListEnd(); err != nil { 574 return thrift.PrependError("error reading list end: ", err) 575 } 576 return nil 577 } 578 579 func (p *Metric) Write(oprot thrift.TProtocol) error { 580 if err := oprot.WriteStructBegin("Metric"); err != nil { 581 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 582 } 583 if err := p.writeField1(oprot); err != nil { 584 return err 585 } 586 if err := p.writeField2(oprot); err != nil { 587 return err 588 } 589 if err := p.writeField3(oprot); err != nil { 590 return err 591 } 592 if err := p.writeField4(oprot); err != nil { 593 return err 594 } 595 if err := oprot.WriteFieldStop(); err != nil { 596 return thrift.PrependError("write field stop error: ", err) 597 } 598 if err := oprot.WriteStructEnd(); err != nil { 599 return thrift.PrependError("write struct stop error: ", err) 600 } 601 return nil 602 } 603 604 func (p *Metric) writeField1(oprot thrift.TProtocol) (err error) { 605 if err := oprot.WriteFieldBegin("name", thrift.STRING, 1); err != nil { 606 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:name: ", p), err) 607 } 608 if err := oprot.WriteString(string(p.Name)); err != nil { 609 return thrift.PrependError(fmt.Sprintf("%T.name (1) field write error: ", p), err) 610 } 611 if err := oprot.WriteFieldEnd(); err != nil { 612 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:name: ", p), err) 613 } 614 return err 615 } 616 617 func (p *Metric) writeField2(oprot thrift.TProtocol) (err error) { 618 if err := oprot.WriteFieldBegin("value", thrift.STRUCT, 2); err != nil { 619 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:value: ", p), err) 620 } 621 if err := p.Value.Write(oprot); err != nil { 622 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", p.Value), err) 623 } 624 if err := oprot.WriteFieldEnd(); err != nil { 625 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:value: ", p), err) 626 } 627 return err 628 } 629 630 func (p *Metric) writeField3(oprot thrift.TProtocol) (err error) { 631 if err := oprot.WriteFieldBegin("timestamp", thrift.I64, 3); err != nil { 632 return thrift.PrependError(fmt.Sprintf("%T write field begin error 3:timestamp: ", p), err) 633 } 634 if err := oprot.WriteI64(int64(p.Timestamp)); err != nil { 635 return thrift.PrependError(fmt.Sprintf("%T.timestamp (3) field write error: ", p), err) 636 } 637 if err := oprot.WriteFieldEnd(); err != nil { 638 return thrift.PrependError(fmt.Sprintf("%T write field end error 3:timestamp: ", p), err) 639 } 640 return err 641 } 642 643 func (p *Metric) writeField4(oprot thrift.TProtocol) (err error) { 644 if p.IsSetTags() { 645 if err := oprot.WriteFieldBegin("tags", thrift.LIST, 4); err != nil { 646 return thrift.PrependError(fmt.Sprintf("%T write field begin error 4:tags: ", p), err) 647 } 648 if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Tags)); err != nil { 649 return thrift.PrependError("error writing list begin: ", err) 650 } 651 for _, v := range p.Tags { 652 if err := v.Write(oprot); err != nil { 653 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) 654 } 655 } 656 if err := oprot.WriteListEnd(); err != nil { 657 return thrift.PrependError("error writing list end: ", err) 658 } 659 if err := oprot.WriteFieldEnd(); err != nil { 660 return thrift.PrependError(fmt.Sprintf("%T write field end error 4:tags: ", p), err) 661 } 662 } 663 return err 664 } 665 666 func (p *Metric) String() string { 667 if p == nil { 668 return "<nil>" 669 } 670 return fmt.Sprintf("Metric(%+v)", *p) 671 } 672 673 // Attributes: 674 // - Metrics 675 // - CommonTags 676 type MetricBatch struct { 677 Metrics []Metric `thrift:"metrics,1,required" json:"metrics"` 678 CommonTags []MetricTag `thrift:"commonTags,2" json:"commonTags,omitempty"` 679 } 680 681 func NewMetricBatch() *MetricBatch { 682 return &MetricBatch{} 683 } 684 685 func (p *MetricBatch) GetMetrics() []Metric { 686 return p.Metrics 687 } 688 689 var MetricBatch_CommonTags_DEFAULT []MetricTag 690 691 func (p *MetricBatch) GetCommonTags() []MetricTag { 692 return p.CommonTags 693 } 694 func (p *MetricBatch) IsSetCommonTags() bool { 695 return p.CommonTags != nil 696 } 697 698 func (p *MetricBatch) Read(iprot thrift.TProtocol) error { 699 if _, err := iprot.ReadStructBegin(); err != nil { 700 return thrift.PrependError(fmt.Sprintf("%T read error: ", p), err) 701 } 702 703 var issetMetrics bool = false 704 705 for { 706 _, fieldTypeId, fieldId, err := iprot.ReadFieldBegin() 707 if err != nil { 708 return thrift.PrependError(fmt.Sprintf("%T field %d read error: ", p, fieldId), err) 709 } 710 if fieldTypeId == thrift.STOP { 711 break 712 } 713 switch fieldId { 714 case 1: 715 if err := p.readField1(iprot); err != nil { 716 return err 717 } 718 issetMetrics = true 719 case 2: 720 if err := p.readField2(iprot); err != nil { 721 return err 722 } 723 default: 724 if err := iprot.Skip(fieldTypeId); err != nil { 725 return err 726 } 727 } 728 if err := iprot.ReadFieldEnd(); err != nil { 729 return err 730 } 731 } 732 if err := iprot.ReadStructEnd(); err != nil { 733 return thrift.PrependError(fmt.Sprintf("%T read struct end error: ", p), err) 734 } 735 if !issetMetrics { 736 return thrift.NewTProtocolExceptionWithType(thrift.INVALID_DATA, fmt.Errorf("Required field Metrics is not set")) 737 } 738 return nil 739 } 740 741 func (p *MetricBatch) readField1(iprot thrift.TProtocol) error { 742 _, size, err := iprot.ReadListBegin() 743 if err != nil { 744 return thrift.PrependError("error reading list begin: ", err) 745 } 746 tSlice := make([]Metric, 0, size) 747 p.Metrics = tSlice 748 for i := 0; i < size; i++ { 749 _elem1 := Metric{} 750 if err := _elem1.Read(iprot); err != nil { 751 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem1), err) 752 } 753 p.Metrics = append(p.Metrics, _elem1) 754 } 755 if err := iprot.ReadListEnd(); err != nil { 756 return thrift.PrependError("error reading list end: ", err) 757 } 758 return nil 759 } 760 761 func (p *MetricBatch) readField2(iprot thrift.TProtocol) error { 762 _, size, err := iprot.ReadListBegin() 763 if err != nil { 764 return thrift.PrependError("error reading list begin: ", err) 765 } 766 tSlice := make([]MetricTag, 0, size) 767 p.CommonTags = tSlice 768 for i := 0; i < size; i++ { 769 _elem2 := MetricTag{} 770 if err := _elem2.Read(iprot); err != nil { 771 return thrift.PrependError(fmt.Sprintf("%T error reading struct: ", _elem2), err) 772 } 773 p.CommonTags = append(p.CommonTags, _elem2) 774 } 775 if err := iprot.ReadListEnd(); err != nil { 776 return thrift.PrependError("error reading list end: ", err) 777 } 778 return nil 779 } 780 781 func (p *MetricBatch) Write(oprot thrift.TProtocol) error { 782 if err := oprot.WriteStructBegin("MetricBatch"); err != nil { 783 return thrift.PrependError(fmt.Sprintf("%T write struct begin error: ", p), err) 784 } 785 if err := p.writeField1(oprot); err != nil { 786 return err 787 } 788 if err := p.writeField2(oprot); err != nil { 789 return err 790 } 791 if err := oprot.WriteFieldStop(); err != nil { 792 return thrift.PrependError("write field stop error: ", err) 793 } 794 if err := oprot.WriteStructEnd(); err != nil { 795 return thrift.PrependError("write struct stop error: ", err) 796 } 797 return nil 798 } 799 800 func (p *MetricBatch) writeField1(oprot thrift.TProtocol) (err error) { 801 if err := oprot.WriteFieldBegin("metrics", thrift.LIST, 1); err != nil { 802 return thrift.PrependError(fmt.Sprintf("%T write field begin error 1:metrics: ", p), err) 803 } 804 if err := oprot.WriteListBegin(thrift.STRUCT, len(p.Metrics)); err != nil { 805 return thrift.PrependError("error writing list begin: ", err) 806 } 807 for _, v := range p.Metrics { 808 if err := v.Write(oprot); err != nil { 809 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) 810 } 811 } 812 if err := oprot.WriteListEnd(); err != nil { 813 return thrift.PrependError("error writing list end: ", err) 814 } 815 if err := oprot.WriteFieldEnd(); err != nil { 816 return thrift.PrependError(fmt.Sprintf("%T write field end error 1:metrics: ", p), err) 817 } 818 return err 819 } 820 821 func (p *MetricBatch) writeField2(oprot thrift.TProtocol) (err error) { 822 if p.IsSetCommonTags() { 823 if err := oprot.WriteFieldBegin("commonTags", thrift.LIST, 2); err != nil { 824 return thrift.PrependError(fmt.Sprintf("%T write field begin error 2:commonTags: ", p), err) 825 } 826 if err := oprot.WriteListBegin(thrift.STRUCT, len(p.CommonTags)); err != nil { 827 return thrift.PrependError("error writing list begin: ", err) 828 } 829 for _, v := range p.CommonTags { 830 if err := v.Write(oprot); err != nil { 831 return thrift.PrependError(fmt.Sprintf("%T error writing struct: ", v), err) 832 } 833 } 834 if err := oprot.WriteListEnd(); err != nil { 835 return thrift.PrependError("error writing list end: ", err) 836 } 837 if err := oprot.WriteFieldEnd(); err != nil { 838 return thrift.PrependError(fmt.Sprintf("%T write field end error 2:commonTags: ", p), err) 839 } 840 } 841 return err 842 } 843 844 func (p *MetricBatch) String() string { 845 if p == nil { 846 return "<nil>" 847 } 848 return fmt.Sprintf("MetricBatch(%+v)", *p) 849 }