From c47998b8858bbd89ad6d3f098caafd0da900369a Mon Sep 17 00:00:00 2001 From: Mahendra Bishnoi Date: Sat, 16 Aug 2025 21:29:03 +0530 Subject: [PATCH 1/6] modify TestWithIDGenerator to test for low & high bits of trace id --- sdk/trace/trace_test.go | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/sdk/trace/trace_test.go b/sdk/trace/trace_test.go index febfac48862..3f89a6a5337 100644 --- a/sdk/trace/trace_test.go +++ b/sdk/trace/trace_test.go @@ -1930,14 +1930,15 @@ func TestSamplerTraceState(t *testing.T) { } type testIDGenerator struct { - traceID int - spanID int + high uint64 + low uint64 + spanID uint64 } func (gen *testIDGenerator) NewIDs(ctx context.Context) (trace.TraceID, trace.SpanID) { - traceIDHex := fmt.Sprintf("%032x", gen.traceID) + traceIDHex := fmt.Sprintf("%016x%016x", gen.high, gen.low) traceID, _ := trace.TraceIDFromHex(traceIDHex) - gen.traceID++ + gen.low++ spanID := gen.NewSpanID(ctx, traceID) return traceID, spanID @@ -1954,12 +1955,13 @@ var _ IDGenerator = (*testIDGenerator)(nil) func TestWithIDGenerator(t *testing.T) { const ( - startTraceID = 1 - startSpanID = 10 - numSpan = 5 + startHigh = 0x1001_1001_1001_1001 + startLow = 0x2002_2002_2002_2002 + startSpanID = 0x3003_3003_3003_3003 + numSpan = 5 ) - gen := &testIDGenerator{traceID: startTraceID, spanID: startSpanID} + gen := &testIDGenerator{high: startHigh, low: startLow, spanID: startSpanID} te := NewTestExporter() tp := NewTracerProvider( WithSyncer(te), @@ -1974,9 +1976,17 @@ func TestWithIDGenerator(t *testing.T) { require.NoError(t, err) assert.Equal(t, uint64(startSpanID+i), gotSpanID) - gotTraceID, err := strconv.ParseUint(span.SpanContext().TraceID().String(), 16, 64) - require.NoError(t, err) - assert.Equal(t, uint64(startTraceID+i), gotTraceID) + traceIdStr := span.SpanContext().TraceID().String() + highBitsStr := traceIdStr[:16] + lowBitsStr := traceIdStr[16:] + + traceIdValidator := func(t *testing.T, id string, expected uint64) { + gotTraceID, err := strconv.ParseUint(id, 16, 64) + require.NoError(t, err) + assert.Equal(t, expected, gotTraceID) + } + traceIdValidator(t, highBitsStr, startHigh) + traceIdValidator(t, lowBitsStr, uint64(startLow)+uint64(i)) }() } } From 1d1ac41141301a408eac4934b2c458c91d7871b1 Mon Sep 17 00:00:00 2001 From: Mahendra Bishnoi Date: Sat, 16 Aug 2025 21:36:51 +0530 Subject: [PATCH 2/6] add explicit types for constant as values are higher that what int can store --- sdk/trace/trace_test.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk/trace/trace_test.go b/sdk/trace/trace_test.go index 3f89a6a5337..09b82bc0fca 100644 --- a/sdk/trace/trace_test.go +++ b/sdk/trace/trace_test.go @@ -1955,10 +1955,10 @@ var _ IDGenerator = (*testIDGenerator)(nil) func TestWithIDGenerator(t *testing.T) { const ( - startHigh = 0x1001_1001_1001_1001 - startLow = 0x2002_2002_2002_2002 - startSpanID = 0x3003_3003_3003_3003 - numSpan = 5 + startHigh uint64 = 0x1001_1001_1001_1001 + startLow uint64 = 0x2002_2002_2002_2002 + startSpanID uint64 = 0x3003_3003_3003_3003 + numSpan = 5 ) gen := &testIDGenerator{high: startHigh, low: startLow, spanID: startSpanID} From 9063295d37e068382e93d376450f5cfb67b09f29 Mon Sep 17 00:00:00 2001 From: Mahendra Bishnoi Date: Sat, 16 Aug 2025 21:38:44 +0530 Subject: [PATCH 3/6] ubuntu compat: explicit type conversion --- sdk/trace/trace_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/trace/trace_test.go b/sdk/trace/trace_test.go index 09b82bc0fca..74fa2664a65 100644 --- a/sdk/trace/trace_test.go +++ b/sdk/trace/trace_test.go @@ -1974,7 +1974,7 @@ func TestWithIDGenerator(t *testing.T) { gotSpanID, err := strconv.ParseUint(span.SpanContext().SpanID().String(), 16, 64) require.NoError(t, err) - assert.Equal(t, uint64(startSpanID+i), gotSpanID) + assert.Equal(t, startSpanID+uint64(i), gotSpanID) traceIdStr := span.SpanContext().TraceID().String() highBitsStr := traceIdStr[:16] @@ -1986,7 +1986,7 @@ func TestWithIDGenerator(t *testing.T) { assert.Equal(t, expected, gotTraceID) } traceIdValidator(t, highBitsStr, startHigh) - traceIdValidator(t, lowBitsStr, uint64(startLow)+uint64(i)) + traceIdValidator(t, lowBitsStr, startLow+uint64(i)) }() } } From 7b2b8da168683ef029f5097cec095dc0056bf129 Mon Sep 17 00:00:00 2001 From: Damien Mathieu <42@dmathieu.com> Date: Mon, 6 Oct 2025 11:01:35 +0200 Subject: [PATCH 4/6] Update sdk/trace/trace_test.go MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Pająk --- sdk/trace/trace_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/trace/trace_test.go b/sdk/trace/trace_test.go index 80093bd8dc5..77fe2a417e7 100644 --- a/sdk/trace/trace_test.go +++ b/sdk/trace/trace_test.go @@ -1931,8 +1931,8 @@ func TestSamplerTraceState(t *testing.T) { } type testIDGenerator struct { - high uint64 - low uint64 + traceIDHigh uint64 + traceIDLow uint64 spanID uint64 } From f6a3b904f0c7309a6b392637acb416c1a4b6a22b Mon Sep 17 00:00:00 2001 From: Damien Mathieu <42@dmathieu.com> Date: Mon, 6 Oct 2025 11:01:42 +0200 Subject: [PATCH 5/6] Update sdk/trace/trace_test.go MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Pająk --- sdk/trace/trace_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/trace/trace_test.go b/sdk/trace/trace_test.go index 77fe2a417e7..533a621d977 100644 --- a/sdk/trace/trace_test.go +++ b/sdk/trace/trace_test.go @@ -1956,8 +1956,8 @@ var _ IDGenerator = (*testIDGenerator)(nil) func TestWithIDGenerator(t *testing.T) { const ( - startHigh uint64 = 0x1001_1001_1001_1001 - startLow uint64 = 0x2002_2002_2002_2002 + startTraceIDHigh uint64 = 0x1001_1001_1001_1001 + startTraceIDLow uint64 = 0x2002_2002_2002_2002 startSpanID uint64 = 0x3003_3003_3003_3003 numSpan = 5 ) From 0b3b2768b9bf11323e7a4181776acb0c4055f9d0 Mon Sep 17 00:00:00 2001 From: dmathieu Date: Mon, 6 Oct 2025 11:06:40 +0200 Subject: [PATCH 6/6] fix renamed variables --- sdk/trace/trace_test.go | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/sdk/trace/trace_test.go b/sdk/trace/trace_test.go index 533a621d977..a5c6f5e2229 100644 --- a/sdk/trace/trace_test.go +++ b/sdk/trace/trace_test.go @@ -1931,15 +1931,15 @@ func TestSamplerTraceState(t *testing.T) { } type testIDGenerator struct { - traceIDHigh uint64 - traceIDLow uint64 - spanID uint64 + traceIDHigh uint64 + traceIDLow uint64 + spanID uint64 } func (gen *testIDGenerator) NewIDs(ctx context.Context) (trace.TraceID, trace.SpanID) { - traceIDHex := fmt.Sprintf("%016x%016x", gen.high, gen.low) + traceIDHex := fmt.Sprintf("%016x%016x", gen.traceIDHigh, gen.traceIDLow) traceID, _ := trace.TraceIDFromHex(traceIDHex) - gen.low++ + gen.traceIDLow++ spanID := gen.NewSpanID(ctx, traceID) return traceID, spanID @@ -1956,13 +1956,13 @@ var _ IDGenerator = (*testIDGenerator)(nil) func TestWithIDGenerator(t *testing.T) { const ( - startTraceIDHigh uint64 = 0x1001_1001_1001_1001 - startTraceIDLow uint64 = 0x2002_2002_2002_2002 - startSpanID uint64 = 0x3003_3003_3003_3003 - numSpan = 5 + startTraceIDHigh uint64 = 0x1001_1001_1001_1001 + startTraceIDLow uint64 = 0x2002_2002_2002_2002 + startSpanID uint64 = 0x3003_3003_3003_3003 + numSpan = 5 ) - gen := &testIDGenerator{high: startHigh, low: startLow, spanID: startSpanID} + gen := &testIDGenerator{traceIDHigh: startTraceIDHigh, traceIDLow: startTraceIDLow, spanID: startSpanID} te := NewTestExporter() tp := NewTracerProvider( WithSyncer(te), @@ -1986,8 +1986,8 @@ func TestWithIDGenerator(t *testing.T) { require.NoError(t, err) assert.Equal(t, expected, gotTraceID) } - traceIdValidator(t, highBitsStr, startHigh) - traceIdValidator(t, lowBitsStr, startLow+uint64(i)) + traceIdValidator(t, highBitsStr, startTraceIDHigh) + traceIdValidator(t, lowBitsStr, startTraceIDLow+uint64(i)) }() } }