Skip to content

Commit cbad04b

Browse files
authored
Change model.ToOTELxxxID() to accept ID argument (jaegertracing#6589)
## Which problem is this PR solving? - Part of jaegertracing#6494 ## Description of the changes - If we move TraceID/SpanID types to jaeger-idl we will not be able to define methods on them, so change to plain functions. ## How was this change tested? - CI Signed-off-by: Yuri Shkuro <[email protected]>
1 parent 08af186 commit cbad04b

File tree

9 files changed

+23
-23
lines changed

9 files changed

+23
-23
lines changed

cmd/query/app/apiv3/grpc_handler.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func (h *Handler) GetTrace(request *api_v3.GetTraceRequest, stream api_v3.QueryS
3737
query := querysvc.GetTraceParams{
3838
TraceIDs: []tracestore.GetTraceParams{
3939
{
40-
TraceID: traceID.ToOTELTraceID(),
40+
TraceID: model.ToOTELTraceID(traceID),
4141
Start: request.GetStartTime(),
4242
End: request.GetEndTime(),
4343
},

cmd/query/app/apiv3/http_gateway.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ func (h *HTTPGateway) getTrace(w http.ResponseWriter, r *http.Request) {
161161
request := querysvc.GetTraceParams{
162162
TraceIDs: []tracestore.GetTraceParams{
163163
{
164-
TraceID: traceID.ToOTELTraceID(),
164+
TraceID: model.ToOTELTraceID(traceID),
165165
},
166166
},
167167
}

model/otelids.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
// ToOTELTraceID converts the TraceID to OTEL's representation of a trace identitfier.
1414
// This was taken from
1515
// https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/internal/coreinternal/idutils/big_endian_converter.go.
16-
func (t *TraceID) ToOTELTraceID() pcommon.TraceID {
16+
func ToOTELTraceID(t TraceID) pcommon.TraceID {
1717
traceID := [16]byte{}
1818
binary.BigEndian.PutUint64(traceID[:8], t.High)
1919
binary.BigEndian.PutUint64(traceID[8:], t.Low)
@@ -30,7 +30,7 @@ func TraceIDFromOTEL(traceID pcommon.TraceID) TraceID {
3030
// ToOTELSpanID converts the SpanID to OTEL's representation of a span identitfier.
3131
// This was taken from
3232
// https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/internal/coreinternal/idutils/big_endian_converter.go.
33-
func (s SpanID) ToOTELSpanID() pcommon.SpanID {
33+
func ToOTELSpanID(s SpanID) pcommon.SpanID {
3434
spanID := [8]byte{}
3535
binary.BigEndian.PutUint64(spanID[:], uint64(s))
3636
return pcommon.SpanID(spanID)

model/otelids_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func TestToOTELTraceID(t *testing.T) {
1919
Low: 3,
2020
High: 2,
2121
}
22-
otelTraceID := modelTraceID.ToOTELTraceID()
22+
otelTraceID := model.ToOTELTraceID(modelTraceID)
2323
expected := []byte{0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 3}
2424
require.Equal(t, pcommon.TraceID(expected), otelTraceID)
2525
}
@@ -53,7 +53,7 @@ func TestToOTELSpanID(t *testing.T) {
5353

5454
for _, test := range tests {
5555
t.Run(test.name, func(t *testing.T) {
56-
actual := test.spanID.ToOTELSpanID()
56+
actual := model.ToOTELSpanID(test.spanID)
5757
assert.Equal(t, test.expected, actual)
5858
})
5959
}

plugin/storage/integration/integration.go

+6-6
Original file line numberDiff line numberDiff line change
@@ -217,11 +217,11 @@ func (s *StorageIntegration) testGetLargeSpan(t *testing.T) {
217217
t.Log("Testing Large Trace over 10K with duplicate IDs...")
218218

219219
expected := s.writeLargeTraceWithDuplicateSpanIds(t)
220-
expectedTraceID := expected.Spans[0].TraceID
220+
expectedTraceID := model.ToOTELTraceID(expected.Spans[0].TraceID)
221221

222222
actual := &model.Trace{} // no spans
223223
found := s.waitForCondition(t, func(_ *testing.T) bool {
224-
iterTraces := s.TraceReader.GetTraces(context.Background(), tracestore.GetTraceParams{TraceID: expectedTraceID.ToOTELTraceID()})
224+
iterTraces := s.TraceReader.GetTraces(context.Background(), tracestore.GetTraceParams{TraceID: expectedTraceID})
225225
traces, err := v1adapter.V1TracesFromSeq2(iterTraces)
226226
if len(traces) > 0 {
227227
actual = traces[0]
@@ -293,11 +293,11 @@ func (s *StorageIntegration) testGetTrace(t *testing.T) {
293293
defer s.cleanUp(t)
294294

295295
expected := s.loadParseAndWriteExampleTrace(t)
296-
expectedTraceID := expected.Spans[0].TraceID
296+
expectedTraceID := model.ToOTELTraceID(expected.Spans[0].TraceID)
297297

298298
actual := &model.Trace{} // no spans
299299
found := s.waitForCondition(t, func(t *testing.T) bool {
300-
iterTraces := s.TraceReader.GetTraces(context.Background(), tracestore.GetTraceParams{TraceID: expectedTraceID.ToOTELTraceID()})
300+
iterTraces := s.TraceReader.GetTraces(context.Background(), tracestore.GetTraceParams{TraceID: expectedTraceID})
301301
traces, err := v1adapter.V1TracesFromSeq2(iterTraces)
302302
if err != nil {
303303
t.Log(err)
@@ -313,8 +313,8 @@ func (s *StorageIntegration) testGetTrace(t *testing.T) {
313313
}
314314

315315
t.Run("NotFound error", func(t *testing.T) {
316-
fakeTraceID := model.TraceID{High: 0, Low: 1}
317-
iterTraces := s.TraceReader.GetTraces(context.Background(), tracestore.GetTraceParams{TraceID: fakeTraceID.ToOTELTraceID()})
316+
fakeTraceID := model.ToOTELTraceID(model.TraceID{High: 0, Low: 1})
317+
iterTraces := s.TraceReader.GetTraces(context.Background(), tracestore.GetTraceParams{TraceID: fakeTraceID})
318318
traces, err := v1adapter.V1TracesFromSeq2(iterTraces)
319319
require.NoError(t, err) // v2 TraceReader no longer returns an error for not found
320320
assert.Empty(t, traces)

storage_v2/v1adapter/spanreader.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func NewSpanReader(traceReader tracestore.Reader) *SpanReader {
3030

3131
func (sr *SpanReader) GetTrace(ctx context.Context, query spanstore.GetTraceParameters) (*model.Trace, error) {
3232
getTracesIter := sr.traceReader.GetTraces(ctx, tracestore.GetTraceParams{
33-
TraceID: query.TraceID.ToOTELTraceID(),
33+
TraceID: model.ToOTELTraceID(query.TraceID),
3434
Start: query.StartTime,
3535
End: query.EndTime,
3636
})

storage_v2/v1adapter/tracereader.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ func (tr *TraceReader) FindTraceIDs(
122122
}
123123
otelIDs := make([]pcommon.TraceID, 0, len(traceIDs))
124124
for _, traceID := range traceIDs {
125-
otelIDs = append(otelIDs, traceID.ToOTELTraceID())
125+
otelIDs = append(otelIDs, model.ToOTELTraceID(traceID))
126126
}
127127
yield(otelIDs, nil)
128128
}

storage_v2/v1adapter/translator.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ func transferWarningsToOTLPSpans(batches []*model.Batch, spanMap map[pcommon.Spa
154154
if len(span.Warnings) == 0 {
155155
continue
156156
}
157-
if otelSpan, ok := spanMap[span.SpanID.ToOTELSpanID()]; ok {
157+
if otelSpan, ok := spanMap[model.ToOTELSpanID(span.SpanID)]; ok {
158158
jptrace.AddWarnings(otelSpan, span.Warnings...)
159159
}
160160
}

storage_v2/v1adapter/translator_test.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -146,9 +146,9 @@ func TestV1TracesFromSeq2(t *testing.T) {
146146
// Add a new span and set attributes
147147
modelTraceID := model.NewTraceID(2, 3)
148148
span1 := spans.AppendEmpty()
149-
span1.SetTraceID(modelTraceID.ToOTELTraceID())
149+
span1.SetTraceID(model.ToOTELTraceID(modelTraceID))
150150
span1.SetName("op-success-a")
151-
span1.SetSpanID(model.NewSpanID(1).ToOTELSpanID())
151+
span1.SetSpanID(model.ToOTELSpanID(model.NewSpanID(1)))
152152

153153
// Yield the test trace
154154
yield([]ptrace.Traces{testTrace}, nil)
@@ -183,18 +183,18 @@ func TestV1TracesFromSeq2(t *testing.T) {
183183
spans1 := sSpans1.Spans()
184184
modelTraceID := model.NewTraceID(2, 3)
185185
span1 := spans1.AppendEmpty()
186-
span1.SetTraceID(modelTraceID.ToOTELTraceID())
186+
span1.SetTraceID(model.ToOTELTraceID(modelTraceID))
187187
span1.SetName("op-two-chunks-a")
188-
span1.SetSpanID(model.NewSpanID(1).ToOTELSpanID())
188+
span1.SetSpanID(model.ToOTELSpanID(model.NewSpanID(1)))
189189

190190
traceChunk2 := ptrace.NewTraces()
191191
rSpans2 := traceChunk2.ResourceSpans().AppendEmpty()
192192
sSpans2 := rSpans2.ScopeSpans().AppendEmpty()
193193
spans2 := sSpans2.Spans()
194194
span2 := spans2.AppendEmpty()
195-
span2.SetTraceID(modelTraceID.ToOTELTraceID())
195+
span2.SetTraceID(model.ToOTELTraceID(modelTraceID))
196196
span2.SetName("op-two-chunks-b")
197-
span2.SetSpanID(model.NewSpanID(2).ToOTELSpanID())
197+
span2.SetSpanID(model.ToOTELSpanID(model.NewSpanID(2)))
198198
// Yield the test trace
199199
yield([]ptrace.Traces{traceChunk1, traceChunk2}, nil)
200200
},
@@ -218,9 +218,9 @@ func TestV1TracesFromSeq2(t *testing.T) {
218218

219219
modelTraceID := model.NewTraceID(2, 3)
220220
span1 := spans.AppendEmpty()
221-
span1.SetTraceID(modelTraceID.ToOTELTraceID())
221+
span1.SetTraceID(model.ToOTELTraceID(modelTraceID))
222222
span1.SetName("op-error-a")
223-
span1.SetSpanID(model.NewSpanID(1).ToOTELSpanID())
223+
span1.SetSpanID(model.ToOTELSpanID(model.NewSpanID(1)))
224224

225225
// Yield the test trace
226226
if !yield([]ptrace.Traces{testTrace}, nil) {

0 commit comments

Comments
 (0)