Skip to content

Commit e4fa86f

Browse files
committed
refactor: improve startTrace
1 parent 0f9c232 commit e4fa86f

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

dataloader.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ func (d *dataLoader[K, V]) processBatch(ctx context.Context, keys []K, batchCtx
259259
seen[bCtx] = struct{}{}
260260
}
261261
var span trace.Span
262-
ctx, span = d.config.TracerProvider.Tracer("dataLoader").Start(ctx, "dataLoader.Batch", trace.WithLinks(links...))
262+
ctx, span = d.startTrace(ctx, "dataLoader.Batch", trace.WithLinks(links...))
263263
defer span.End()
264264
}
265265

@@ -288,9 +288,12 @@ func sendResult[V any](chs []chan Result[V], result Result[V]) {
288288
}
289289

290290
// startTrace starts a trace span
291-
func (d *dataLoader[K, V]) startTrace(ctx context.Context, name string) (context.Context, trace.Span) {
291+
func (d *dataLoader[K, V]) startTrace(ctx context.Context, name string, opts ...trace.SpanStartOption) (context.Context, trace.Span) {
292292
if d.config.TracerProvider != nil {
293-
return d.config.TracerProvider.Tracer("dataLoader").Start(ctx, name)
293+
span := trace.SpanFromContext(ctx)
294+
if span.SpanContext().IsValid() {
295+
return d.config.TracerProvider.Tracer("dataLoader").Start(ctx, name, opts...)
296+
}
294297
}
295298
return ctx, noop.Span{}
296299
}

0 commit comments

Comments
 (0)