@@ -10,6 +10,8 @@ import (
10
10
"github.com/stretchr/testify/require"
11
11
"go.opentelemetry.io/collector/pdata/pcommon"
12
12
"go.opentelemetry.io/collector/pdata/ptrace"
13
+
14
+ "github.com/jaegertracing/jaeger/internal/jptrace"
13
15
)
14
16
15
17
func TestLinksAdjuster (t * testing.T ) {
@@ -21,19 +23,32 @@ func TestLinksAdjuster(t *testing.T) {
21
23
scopeSpans .Spans ().AppendEmpty ()
22
24
23
25
// span with empty traceID link
24
- spanA := scopeSpans .Spans ().AppendEmpty ()
25
- spanA .Links ().AppendEmpty ().SetTraceID (pcommon .NewTraceIDEmpty ())
26
+ spanB := scopeSpans .Spans ().AppendEmpty ()
27
+ spanB .Links ().AppendEmpty ().SetTraceID (pcommon .NewTraceIDEmpty ())
26
28
27
29
// span with 2 non-empty traceID links and 1 empty (or zero) traceID link
28
- spanB := scopeSpans .Spans ().AppendEmpty ()
29
- spanB .Links ().AppendEmpty ().SetTraceID (pcommon .TraceID ([]byte {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 }))
30
- spanB .Links ().AppendEmpty ().SetTraceID (pcommon .TraceID ([]byte {0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }))
31
- spanB .Links ().AppendEmpty ().SetTraceID (pcommon .TraceID ([]byte {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }))
30
+ spanC := scopeSpans .Spans ().AppendEmpty ()
31
+ spanC .Links ().AppendEmpty ().SetTraceID (pcommon .TraceID ([]byte {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 }))
32
+ spanC .Links ().AppendEmpty ().SetTraceID (pcommon .TraceID ([]byte {0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }))
33
+ spanC .Links ().AppendEmpty ().SetTraceID (pcommon .TraceID ([]byte {0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }))
32
34
33
35
err := SpanLinks ().Adjust (traces )
34
36
spans := traces .ResourceSpans ().At (0 ).ScopeSpans ().At (0 ).Spans ()
35
37
require .NoError (t , err )
36
- assert .Equal (t , 0 , spans .At (0 ).Links ().Len ())
37
- assert .Equal (t , 0 , spans .At (1 ).Links ().Len ())
38
- assert .Equal (t , 2 , spans .At (2 ).Links ().Len ())
38
+
39
+ gotSpansA := spans .At (0 )
40
+ assert .Equal (t , 0 , gotSpansA .Links ().Len ())
41
+ assert .Empty (t , jptrace .GetWarnings (gotSpansA ))
42
+
43
+ gotSpansB := spans .At (1 )
44
+ assert .Equal (t , 0 , gotSpansB .Links ().Len ())
45
+ spanBWarnings := jptrace .GetWarnings (gotSpansB )
46
+ assert .Len (t , spanBWarnings , 1 )
47
+ assert .Equal (t , "Invalid span link removed" , spanBWarnings [0 ])
48
+
49
+ gotSpansC := spans .At (2 )
50
+ assert .Equal (t , 2 , gotSpansC .Links ().Len ())
51
+ spanCWarnings := jptrace .GetWarnings (gotSpansC )
52
+ assert .Len (t , spanCWarnings , 1 )
53
+ assert .Equal (t , "Invalid span link removed" , spanCWarnings [0 ])
39
54
}
0 commit comments