diff --git a/ddtrace/tracer/civisibility_tslv_msgp.go b/ddtrace/tracer/civisibility_tslv_msgp.go index 63fa4b8499..9da253e9a6 100644 --- a/ddtrace/tracer/civisibility_tslv_msgp.go +++ b/ddtrace/tracer/civisibility_tslv_msgp.go @@ -497,25 +497,25 @@ func (z *tslvSpan) DecodeMsg(dc *msgp.Reader) (err error) { case "test_session_id": z.SessionID, err = dc.ReadUint64() if err != nil { - err = msgp.WrapError(err, "SessionId") + err = msgp.WrapError(err, "SessionID") return } case "test_module_id": z.ModuleID, err = dc.ReadUint64() if err != nil { - err = msgp.WrapError(err, "ModuleId") + err = msgp.WrapError(err, "ModuleID") return } case "test_suite_id": z.SuiteID, err = dc.ReadUint64() if err != nil { - err = msgp.WrapError(err, "SuiteId") + err = msgp.WrapError(err, "SuiteID") return } case "itr_correlation_id": z.CorrelationID, err = dc.ReadString() if err != nil { - err = msgp.WrapError(err, "CorrelationId") + err = msgp.WrapError(err, "CorrelationID") return } case "name": @@ -654,7 +654,6 @@ func (z *tslvSpan) EncodeMsg(en *msgp.Writer) (err error) { // omitempty: check for empty values zb0001Len := uint32(16) var zb0001Mask uint16 /* 16 bits */ - _ = zb0001Mask if z.SessionID == 0 { zb0001Len-- zb0001Mask |= 0x1 diff --git a/ddtrace/tracer/span_msgp.go b/ddtrace/tracer/span_msgp.go index c9193c0afe..2d73e27a4d 100644 --- a/ddtrace/tracer/span_msgp.go +++ b/ddtrace/tracer/span_msgp.go @@ -90,6 +90,12 @@ func (z *Span) DecodeMsg(dc *msgp.Reader) (err error) { } z.meta[za0001] = za0002 } + case "meta_struct": + err = z.metaStruct.DecodeMsg(dc) + if err != nil { + err = msgp.WrapError(err, "metaStruct") + return + } case "metrics": var zb0003 uint32 zb0003, err = dc.ReadMapHeader() @@ -177,15 +183,15 @@ func (z *Span) DecodeMsg(dc *msgp.Reader) (err error) { // EncodeMsg implements msgp.Encodable func (z *Span) EncodeMsg(en *msgp.Writer) (err error) { // omitempty: check for empty values - zb0001Len := uint32(13) - var zb0001Mask uint16 /* 13 bits */ + zb0001Len := uint32(14) + var zb0001Mask uint16 /* 14 bits */ if z.meta == nil { zb0001Len-- zb0001Mask |= 0x40 } if z.metrics == nil { zb0001Len-- - zb0001Mask |= 0x80 + zb0001Mask |= 0x100 } // variable map header, size zb0001Len err = en.Append(0x80 | uint8(zb0001Len)) @@ -279,7 +285,17 @@ func (z *Span) EncodeMsg(en *msgp.Writer) (err error) { } } } - if (zb0001Mask & 0x80) == 0 { // if not empty + // write "meta_struct" + err = en.Append(0xab, 0x6d, 0x65, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74) + if err != nil { + return + } + err = z.metaStruct.EncodeMsg(en) + if err != nil { + err = msgp.WrapError(err, "metaStruct") + return + } + if (zb0001Mask & 0x100) == 0 { // if not empty // write "metrics" err = en.Append(0xa7, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73) if err != nil { @@ -372,7 +388,7 @@ func (z *Span) Msgsize() (s int) { s += msgp.StringPrefixSize + len(za0001) + msgp.StringPrefixSize + len(za0002) } } - s += 8 + msgp.MapHeaderSize + s += 12 + z.metaStruct.Msgsize() + 8 + msgp.MapHeaderSize if z.metrics != nil { for za0003, za0004 := range z.metrics { _ = za0004 diff --git a/ddtrace/tracer/stats_payload_msgp.go b/ddtrace/tracer/stats_payload_msgp.go index e4615b87e9..462e1d680a 100644 --- a/ddtrace/tracer/stats_payload_msgp.go +++ b/ddtrace/tracer/stats_payload_msgp.go @@ -102,6 +102,12 @@ func (z *groupedStats) DecodeMsg(dc *msgp.Reader) (err error) { err = msgp.WrapError(err, "TopLevelHits") return } + case "IsTraceRoot": + z.IsTraceRoot, err = dc.ReadInt32() + if err != nil { + err = msgp.WrapError(err, "IsTraceRoot") + return + } default: err = dc.Skip() if err != nil { @@ -115,9 +121,9 @@ func (z *groupedStats) DecodeMsg(dc *msgp.Reader) (err error) { // EncodeMsg implements msgp.Encodable func (z *groupedStats) EncodeMsg(en *msgp.Writer) (err error) { - // map header, size 13 + // map header, size 14 // write "Service" - err = en.Append(0x8d, 0xa7, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65) + err = en.Append(0x8e, 0xa7, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65) if err != nil { return } @@ -246,12 +252,22 @@ func (z *groupedStats) EncodeMsg(en *msgp.Writer) (err error) { err = msgp.WrapError(err, "TopLevelHits") return } + // write "IsTraceRoot" + err = en.Append(0xab, 0x49, 0x73, 0x54, 0x72, 0x61, 0x63, 0x65, 0x52, 0x6f, 0x6f, 0x74) + if err != nil { + return + } + err = en.WriteInt32(z.IsTraceRoot) + if err != nil { + err = msgp.WrapError(err, "IsTraceRoot") + return + } return } // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message func (z *groupedStats) Msgsize() (s int) { - s = 1 + 8 + msgp.StringPrefixSize + len(z.Service) + 5 + msgp.StringPrefixSize + len(z.Name) + 9 + msgp.StringPrefixSize + len(z.Resource) + 15 + msgp.Uint32Size + 5 + msgp.StringPrefixSize + len(z.Type) + 7 + msgp.StringPrefixSize + len(z.DBType) + 5 + msgp.Uint64Size + 7 + msgp.Uint64Size + 9 + msgp.Uint64Size + 10 + msgp.BytesPrefixSize + len(z.OkSummary) + 13 + msgp.BytesPrefixSize + len(z.ErrorSummary) + 11 + msgp.BoolSize + 13 + msgp.Uint64Size + s = 1 + 8 + msgp.StringPrefixSize + len(z.Service) + 5 + msgp.StringPrefixSize + len(z.Name) + 9 + msgp.StringPrefixSize + len(z.Resource) + 15 + msgp.Uint32Size + 5 + msgp.StringPrefixSize + len(z.Type) + 7 + msgp.StringPrefixSize + len(z.DBType) + 5 + msgp.Uint64Size + 7 + msgp.Uint64Size + 9 + msgp.Uint64Size + 10 + msgp.BytesPrefixSize + len(z.OkSummary) + 13 + msgp.BytesPrefixSize + len(z.ErrorSummary) + 11 + msgp.BoolSize + 13 + msgp.Uint64Size + 12 + msgp.Int32Size return } diff --git a/internal/stacktrace/event_msgp.go b/internal/stacktrace/event_msgp.go index 378c35223c..7c80278634 100644 --- a/internal/stacktrace/event_msgp.go +++ b/internal/stacktrace/event_msgp.go @@ -70,7 +70,6 @@ func (z *Event) EncodeMsg(en *msgp.Writer) (err error) { // omitempty: check for empty values zb0001Len := uint32(5) var zb0001Mask uint8 /* 5 bits */ - _ = zb0001Mask if z.Type == "" { zb0001Len-- zb0001Mask |= 0x1 @@ -162,7 +161,6 @@ func (z *Event) MarshalMsg(b []byte) (o []byte, err error) { // omitempty: check for empty values zb0001Len := uint32(5) var zb0001Mask uint8 /* 5 bits */ - _ = zb0001Mask if z.Type == "" { zb0001Len-- zb0001Mask |= 0x1 diff --git a/internal/stacktrace/stacktrace_msgp.go b/internal/stacktrace/stacktrace_msgp.go index d957c31029..41064696fe 100644 --- a/internal/stacktrace/stacktrace_msgp.go +++ b/internal/stacktrace/stacktrace_msgp.go @@ -88,7 +88,6 @@ func (z *StackFrame) EncodeMsg(en *msgp.Writer) (err error) { // omitempty: check for empty values zb0001Len := uint32(8) var zb0001Mask uint8 /* 8 bits */ - _ = zb0001Mask if z.Text == "" { zb0001Len-- zb0001Mask |= 0x2 @@ -228,7 +227,6 @@ func (z *StackFrame) MarshalMsg(b []byte) (o []byte, err error) { // omitempty: check for empty values zb0001Len := uint32(8) var zb0001Mask uint8 /* 8 bits */ - _ = zb0001Mask if z.Text == "" { zb0001Len-- zb0001Mask |= 0x2