MCPcopy
hub / github.com/grafana/tempo / Unmarshal

Method Unmarshal

pkg/tempopb/tempo.pb.go:11498–11581  ·  view source on GitHub ↗
(dAtA []byte)

Source from the content-addressed store, hash-verified

11496 return nil
11497}
11498func (m *Trace) Unmarshal(dAtA []byte) error {
11499 l := len(dAtA)
11500 iNdEx := 0
11501 for iNdEx < l {
11502 preIndex := iNdEx
11503 var wire uint64
11504 for shift := uint(0); ; shift += 7 {
11505 if shift >= 64 {
11506 return ErrIntOverflowTempo
11507 }
11508 if iNdEx >= l {
11509 return io.ErrUnexpectedEOF
11510 }
11511 b := dAtA[iNdEx]
11512 iNdEx++
11513 wire |= uint64(b&0x7F) << shift
11514 if b < 0x80 {
11515 break
11516 }
11517 }
11518 fieldNum := int32(wire >> 3)
11519 wireType := int(wire & 0x7)
11520 if wireType == 4 {
11521 return fmt.Errorf("proto: Trace: wiretype end group for non-group")
11522 }
11523 if fieldNum <= 0 {
11524 return fmt.Errorf("proto: Trace: illegal tag %d (wire type %d)", fieldNum, wire)
11525 }
11526 switch fieldNum {
11527 case 1:
11528 if wireType != 2 {
11529 return fmt.Errorf("proto: wrong wireType = %d for field ResourceSpans", wireType)
11530 }
11531 var msglen int
11532 for shift := uint(0); ; shift += 7 {
11533 if shift >= 64 {
11534 return ErrIntOverflowTempo
11535 }
11536 if iNdEx >= l {
11537 return io.ErrUnexpectedEOF
11538 }
11539 b := dAtA[iNdEx]
11540 iNdEx++
11541 msglen |= int(b&0x7F) << shift
11542 if b < 0x80 {
11543 break
11544 }
11545 }
11546 if msglen < 0 {
11547 return ErrInvalidLengthTempo
11548 }
11549 postIndex := iNdEx + msglen
11550 if postIndex < 0 {
11551 return ErrInvalidLengthTempo
11552 }
11553 if postIndex > l {
11554 return io.ErrUnexpectedEOF
11555 }

Callers 7

AppendTraceMethod · 0.95
PushTracesMethod · 0.95
pushBytesMethod · 0.95
TraceByIDMethod · 0.95
DecodeMethod · 0.95
XXX_UnmarshalMethod · 0.95

Calls 2

skipTempoFunction · 0.85
UnmarshalMethod · 0.65

Tested by 1