From 0c67b8fefa41581f5948f19ad27319b2429afa32 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Fri, 19 May 2023 14:40:17 +0300 Subject: [PATCH] [#34] tracing: use atomic.Pointer Signed-off-by: Evgenii Stratonikov --- pkg/tracing/setup.go | 4 ++-- pkg/tracing/span.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/tracing/setup.go b/pkg/tracing/setup.go index 3df069e..067dfda 100644 --- a/pkg/tracing/setup.go +++ b/pkg/tracing/setup.go @@ -99,8 +99,8 @@ func Shutdown(ctx context.Context) error { return flushAndShutdown(ctx) } -func getDefaultTracer() *atomic.Value { - v := &atomic.Value{} +func getDefaultTracer() *atomic.Pointer[tracerHolder] { + v := new(atomic.Pointer[tracerHolder]) v.Store(&tracerHolder{Tracer: trace.NewNoopTracerProvider().Tracer("")}) return v } diff --git a/pkg/tracing/span.go b/pkg/tracing/span.go index 5e28c75..1071f47 100644 --- a/pkg/tracing/span.go +++ b/pkg/tracing/span.go @@ -8,5 +8,5 @@ import ( // StartSpanFromContext creates a span and a context.Context containing the newly-created span. func StartSpanFromContext(ctx context.Context, operationName string, opts ...trace.SpanStartOption) (context.Context, trace.Span) { - return tracer.Load().(*tracerHolder).Tracer.Start(ctx, operationName, opts...) + return tracer.Load().Tracer.Start(ctx, operationName, opts...) }