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

Function sortAttributesTempopb

tempodb/encoding/vparquet5/schema_test.go:995–1015  ·  view source on GitHub ↗
(t *tempopb.Trace)

Source from the content-addressed store, hash-verified

993}
994
995func sortAttributesTempopb(t *tempopb.Trace) {
996 // sort attributes for comparison
997 for _, rs := range t.ResourceSpans {
998 sort.Slice(rs.Resource.Attributes, func(i, j int) bool {
999 if rs.Resource.Attributes[i].Key == rs.Resource.Attributes[j].Key {
1000 return rs.Resource.Attributes[i].Value.String() < rs.Resource.Attributes[j].Value.String()
1001 }
1002
1003 return rs.Resource.Attributes[i].Key < rs.Resource.Attributes[j].Key
1004 })
1005 for _, ss := range rs.ScopeSpans {
1006 sort.Slice(ss.Scope.Attributes, func(i, j int) bool {
1007 if rs.Resource.Attributes[i].Key == rs.Resource.Attributes[j].Key {
1008 return rs.Resource.Attributes[i].Value.String() < rs.Resource.Attributes[j].Value.String()
1009 }
1010
1011 return ss.Scope.Attributes[i].Key < ss.Scope.Attributes[j].Key
1012 })
1013 }
1014 }
1015}
1016
1017// traceEqual asserts similar to assert.Equal but treats empty / nil slices and maps as equal
1018func traceEqual(t *testing.T, expected, actual *Trace, messages ...interface{}) {

Callers 1

tempopbTraceEqualFunction · 0.70

Calls 1

StringMethod · 0.45

Tested by

no test coverage detected